fix(torznab): une élision française séparée n'est plus rejetée comme hors-sujet (FOXA-2842) #36
No reviewers
Labels
No labels
montee-majeure
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
foXaCe/wacustom!36
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/torznab-elisions-fr-2842"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Défaut
Le filtre anti-pollution de pertinence Torznab ne calculait ses tokens qu'avec la convention fusionnée (apostrophe retirée sans espace) — la convention scène du génitif anglais. Une élision française suit la convention inverse : la scène écrit le mot séparé au point (
L.Arene,D.Artagnan), jamaisLArene.Un résultat trouvé par recherche par identifiant se faisait donc rejeter en silence comme « repli hors-sujet », sans que l'écran ne signale rien : un vrai résultat supprimé, sur un foyer francophone où la forme est la règle.
Correctif
wastream/scrapers/torznab/base.py—_relevance_tokensprend la convention d'apostrophe en paramètre (""fusion," "séparation) et_is_relevantteste les deux, la fusion d'abord :Aucun patch amont recopié :
dydy13014/wacustoma5c3c24traite le même cas et conclut de même ; ici une seule fonction paramétrée au lieu de deux fonctions jumelles.Preuve
Avant, sur l'arbre de base
21dd7be, les tests neufs seuls échouent :Après :
pytest -q→ 489 passed (31 suites, +6 tests, aucun retrait).Récit :
JOURNAL.md, référence de porte :CLAUDE.md.Déploiement non fait :
scripts/deployer.shviseorigin/main, et la fusion reste à l'opérateur pour ce dépôt.Le filtre anti-pollution de pertinence Torznab ne calculait ses tokens qu'avec la convention fusionnée (le génitif anglais : "Charlie's Angels" -> "Charlies.Angels"). Une élision française suit la convention scène inverse : les noms de release l'écrivent séparée au point ("L.Arene", "D.Artagnan"), jamais fusionnée ("LArene"). Un résultat trouvé par recherche par identifiant se faisait donc rejeter en silence comme "repli hors-sujet", sans que l'écran ne signale rien — un vrai résultat supprimé, sur un foyer francophone où la forme est la règle. Les deux conventions sont désormais testées l'une après l'autre, et on accepte dès que l'une des deux passe le seuil. La fusion passe en premier et son calcul est inchangé : aucun résultat accepté auparavant ne peut échouer maintenant. Les deux jeux de tokens ne sont jamais mélangés dans un même ratio, ce qui ferait échouer les deux stratégies artificiellement. Sept cas ajoutés à tests/test_torznab_relevance.py (5 suites / 5 tests -> 5 suites / 12 tests) : élision séparée au point, élision "D'", apostrophe typographique, élision fusionnée par le tracker, et deux hors-sujet qui doivent rester rejetés — l'élargissement des conventions ne rend pas le filtre permissif.