Compatibilité Sonarr : flux RSS Torznab, catégories qBittorrent, save_path, TLS auto-signé
- torznab : tvsearch sans q sert les nouveautés (RSS sync + test Sonarr) au lieu d'une erreur 400 — ajoute TorznabService.latest_releases() - qbit : POST /torrents/createCategory + GET /torrents/categories stateful (Sonarr crée sa catégorie tv-sonarr puis la revérifie) - qbit : /app/preferences expose save_path=/downloads (health Sonarr) - sonarr : verify=False sur httpx — reverse proxy swizzin en certificat auto-signé (usage LAN)
This commit is contained in:
+12
-2
@@ -88,7 +88,7 @@ async def webapi_version() -> Response:
|
||||
|
||||
@router.get("/api/v2/app/preferences", dependencies=[Depends(_require_sid)])
|
||||
async def app_preferences() -> dict:
|
||||
return {}
|
||||
return {"save_path": "/downloads"}
|
||||
|
||||
|
||||
@router.get("/api/v2/transfer/info", dependencies=[Depends(_require_sid)])
|
||||
@@ -180,9 +180,19 @@ async def torrents_properties(hash: str) -> dict:
|
||||
}
|
||||
|
||||
|
||||
_categories: dict[str, dict] = {}
|
||||
|
||||
|
||||
@router.get("/api/v2/torrents/categories", dependencies=[Depends(_require_sid)])
|
||||
async def torrents_categories() -> dict:
|
||||
return {}
|
||||
return _categories
|
||||
|
||||
|
||||
@router.post("/api/v2/torrents/createCategory", dependencies=[Depends(_require_sid)])
|
||||
async def torrents_create_category(category: str = Form(""), savePath: str = Form("")) -> Response:
|
||||
if category:
|
||||
_categories[category] = {"name": category, "savePath": savePath}
|
||||
return _plain("Ok.")
|
||||
|
||||
|
||||
@router.get("/api/v2/torrents/tags", dependencies=[Depends(_require_sid)])
|
||||
|
||||
@@ -58,10 +58,9 @@ async def torznab_api(
|
||||
|
||||
if t in ("tvsearch", "search"):
|
||||
if not q or len(q) < 2:
|
||||
releases = await torznab.latest_releases()
|
||||
return Response(
|
||||
torznab.error_xml(200, "Paramètre q requis"),
|
||||
media_type="application/xml",
|
||||
status_code=400,
|
||||
torznab.results_xml(base, key, releases), media_type="application/rss+xml"
|
||||
)
|
||||
try:
|
||||
releases = await torznab.tvsearch(q, season=season, ep=ep)
|
||||
|
||||
Reference in New Issue
Block a user