diff --git a/src/database.py b/src/database.py index b9e8cf2..0ec0917 100644 --- a/src/database.py +++ b/src/database.py @@ -1,6 +1,5 @@ """Datenbankverbindung (geteilte DB mit OSINT-Monitor).""" import aiosqlite -import os from config import DB_PATH diff --git a/src/models.py b/src/models.py index dc1acb4..17c3345 100644 --- a/src/models.py +++ b/src/models.py @@ -1,5 +1,5 @@ """Pydantic Models für das Verwaltungsportal.""" -from pydantic import BaseModel, EmailStr, Field +from pydantic import BaseModel, Field from typing import Optional diff --git a/src/routers/audit.py b/src/routers/audit.py index a8582c5..d7ed9f4 100644 --- a/src/routers/audit.py +++ b/src/routers/audit.py @@ -2,7 +2,7 @@ import json import logging from typing import Optional -from fastapi import APIRouter, Depends, HTTPException +from fastapi import APIRouter, Depends from auth import get_current_admin from database import db_dependency import aiosqlite diff --git a/src/routers/auth.py b/src/routers/auth.py index 09e8457..06e79b2 100644 --- a/src/routers/auth.py +++ b/src/routers/auth.py @@ -1,7 +1,7 @@ """Magic-Link-Authentifizierung.""" import logging from datetime import datetime, timedelta, timezone -from fastapi import APIRouter, Depends, HTTPException, Request, status +from fastapi import APIRouter, Depends, HTTPException, Request import aiosqlite from auth import generate_magic_token, create_token diff --git a/src/routers/sources.py b/src/routers/sources.py index dea28ed..3974de4 100644 --- a/src/routers/sources.py +++ b/src/routers/sources.py @@ -2,7 +2,7 @@ import logging import uuid -from fastapi import APIRouter, Depends, HTTPException, status, Request +from fastapi import APIRouter, Depends, HTTPException, Request from fastapi.responses import StreamingResponse from pydantic import BaseModel, Field from typing import Optional @@ -10,15 +10,13 @@ import aiosqlite from auth import get_current_admin from database import db_dependency -from audit import log_action, get_client_ip, row_to_dict +from audit import log_action, get_client_ip from source_meta import get_meta from config import HEALTH_CHECK_USER_AGENT, HEALTH_CHECK_TIMEOUT_S from shared.source_rules import ( discover_source, discover_all_feeds, evaluate_feeds_with_claude, - _extract_domain, - _detect_category, domain_to_display_name, ) @@ -683,7 +681,7 @@ async def update_suggestion( new_url = data.get("url") if source_id and new_url: await db.execute("UPDATE sources SET url = ? WHERE id = ?", (new_url, source_id)) - result_action = f"URL aktualisiert" + result_action = "URL aktualisiert" # Auto-Reject: Wenn fix_url oder add_source akzeptiert wird, # zugehörige deactivate_source-Vorschläge automatisch ablehnen @@ -741,7 +739,6 @@ async def run_health_check_stream( """Health-Check mit Fortschrittsanzeige (SSE-Stream).""" import json as _json import asyncio - from urllib.parse import urlparse # Quellen laden cursor = await db.execute( @@ -806,8 +803,8 @@ async def run_health_check_stream( "message": f"Feed OK ({len(feed.entries)} Eintr.)"}) except httpx.TimeoutException: checks.append({"type": "reachability", "status": "error", "message": "Timeout (15s)"}) - except httpx.ConnectError as e: - checks.append({"type": "reachability", "status": "error", "message": f"Verbindung fehlgeschlagen"}) + except httpx.ConnectError: + checks.append({"type": "reachability", "status": "error", "message": "Verbindung fehlgeschlagen"}) except Exception as e: checks.append({"type": "reachability", "status": "error", "message": f"{type(e).__name__}"}) diff --git a/src/routers/users.py b/src/routers/users.py index 6dab904..50f1fcc 100644 --- a/src/routers/users.py +++ b/src/routers/users.py @@ -7,7 +7,7 @@ from models import UserCreate, UserResponse from auth import get_current_admin from database import db_dependency from audit import log_action, get_client_ip, row_to_dict -from config import MAGIC_LINK_BASE_URL, MAGIC_LINK_EXPIRE_MINUTES +from config import MAGIC_LINK_BASE_URL import aiosqlite router = APIRouter(prefix="/api/users", tags=["users"])