grimmory auth

This commit is contained in:
2026-05-14 21:58:19 +02:00
parent cd950c29a6
commit fd1f515c09
2 changed files with 18 additions and 16 deletions
+2 -10
View File
@@ -74,18 +74,10 @@ def place_book(
def test_connection(url: str, user: str, password: str) -> tuple[bool, str]:
base = url.rstrip("/")
try:
# Health check (no auth required)
r = requests.get(base + "/api/v1/healthcheck", timeout=10)
if r.status_code != 200:
return False, f"Grimmory not reachable (HTTP {r.status_code})"
# Verify credentials against Komga-compatible API
r2 = requests.get(base + "/komga/api/v1/books", params={"size": 1},
auth=(user, password), timeout=10)
if r2.status_code == 200:
if r.status_code == 200:
return True, "Connected to Grimmory successfully"
if r2.status_code == 401:
return False, "Grimmory reachable but credentials rejected — check username and password"
return True, f"Grimmory reachable (API returned HTTP {r2.status_code})"
return False, f"Grimmory not reachable (HTTP {r.status_code})"
except requests.exceptions.ConnectionError:
return False, "Could not connect — check the URL"
except Exception as e: