53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
|
|
from __future__ import annotations
|
||
|
|
|
||
|
|
import os
|
||
|
|
import sys
|
||
|
|
|
||
|
|
import requests
|
||
|
|
|
||
|
|
|
||
|
|
def main() -> int:
|
||
|
|
backend = os.getenv("BACKEND_URL", "http://127.0.0.1:8000").rstrip("/")
|
||
|
|
token = os.getenv("MEDWORK_API_TOKEN", "").strip()
|
||
|
|
if not token:
|
||
|
|
print("MEDWORK_API_TOKEN fehlt.")
|
||
|
|
return 2
|
||
|
|
params = {
|
||
|
|
"specialty": "dermatology",
|
||
|
|
"regions": "EU",
|
||
|
|
"from": "2026-01-01",
|
||
|
|
"to": "2026-12-31",
|
||
|
|
"limit": 30,
|
||
|
|
"lang": "de",
|
||
|
|
}
|
||
|
|
headers = {"X-API-Token": token}
|
||
|
|
try:
|
||
|
|
r = requests.get(f"{backend}/api/events/live", params=params, headers=headers, timeout=(5, 30))
|
||
|
|
except Exception as exc:
|
||
|
|
print(f"Request fehlgeschlagen: {exc}")
|
||
|
|
return 3
|
||
|
|
print(f"HTTP {r.status_code}")
|
||
|
|
try:
|
||
|
|
data = r.json()
|
||
|
|
except Exception:
|
||
|
|
print(r.text[:400])
|
||
|
|
return 4
|
||
|
|
if r.status_code != 200:
|
||
|
|
print(data)
|
||
|
|
return 5
|
||
|
|
if not isinstance(data, list):
|
||
|
|
print("Unerwartetes Format:", type(data).__name__)
|
||
|
|
return 6
|
||
|
|
print(f"Events: {len(data)}")
|
||
|
|
if data:
|
||
|
|
first = data[0]
|
||
|
|
print("Erster Treffer:", first.get("name"), "-", first.get("url"))
|
||
|
|
return 0
|
||
|
|
print("Keine Events gefunden. Prüfe Provider/API-Keys/Region/Fachgebiet.")
|
||
|
|
return 1
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
sys.exit(main())
|
||
|
|
|