Pour toi : fallback sans Sonarr et amorçage sans historique
- Sans Sonarr, les séries/films téléchargés donnent leurs genres via leur fiche French-Stream (page_url des téléchargements), convertis vers les catégories Kitsu (mapping FR→EN ; genres sans équivalent ignorés) - Aucun historique (ni téléchargement, ni favori, ni Sonarr) : réponse cold_start non cachée → carte d'amorçage « téléchargez un premier titre » - Fin de téléchargement → invalidation immédiate des recommandations - genres_of_page ignore les fiches hors French-Stream (URLs d'animés)
This commit is contained in:
@@ -251,6 +251,21 @@ class FrenchStreamScraper(SourceScraper):
|
||||
for media_type, genres in catalog.items()
|
||||
}
|
||||
|
||||
|
||||
async def genres_of_page(self, page_url: str) -> list[str]:
|
||||
"""Genres (libellés FR) de la fiche pointée par l'URL d'un téléchargement.
|
||||
|
||||
Utilisé par les recommandations « Pour toi » pour les séries/films,
|
||||
absents de Kitsu (et donc sans signal de genre sans Sonarr).
|
||||
"""
|
||||
if self.base_url.split("//")[-1].split("/")[0] not in page_url:
|
||||
return [] # fiche d'une autre source (animé) : rien à lire ici
|
||||
source_id = _newsid_from_url(page_url)
|
||||
try:
|
||||
details = await self.get_details(source_id)
|
||||
except ScrapeError:
|
||||
return []
|
||||
return details.genres or []
|
||||
# ------------------------------------------------------------- details
|
||||
|
||||
async def get_details(self, source_id: str) -> TitleDetails:
|
||||
|
||||
Reference in New Issue
Block a user