feat: auto-téléchargement par catégorie avec souscription persistante
Docker / docker (push) Has been cancelled
Docker / docker (push) Has been cancelled
- Bouton ⬇ sur chaque pill de catégorie pour activer/désactiver l'auto-DL
- Souscriptions sauvegardées en SQLite (table auto_dl_categories)
- Boucle background toutes les AUTO_DL_INTERVAL secondes (défaut 1h)
- Déduplication via already_enqueued() (évite re-queue si déjà queued/done)
- POST /api/auto-dl/check pour déclencher un check immédiat
- GET/POST/DELETE /api/auto-dl/{category} pour gérer les souscriptions
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -144,6 +144,15 @@ def _search_sync(query: str) -> set[str]:
|
||||
|
||||
# ── public API ────────────────────────────────────────────────────────────────
|
||||
|
||||
async def _ensure_cache() -> list[dict]:
|
||||
return await get_all_concerts()
|
||||
|
||||
|
||||
async def get_concerts_by_category(category: str) -> list[dict]:
|
||||
data = await _ensure_cache()
|
||||
return [c for c in data if category in (c.get("categories") or [])]
|
||||
|
||||
|
||||
async def get_all_concerts() -> list[dict]:
|
||||
now = time.time()
|
||||
if _cache["data"] and now - _cache["ts"] < CACHE_TTL:
|
||||
|
||||
Reference in New Issue
Block a user