stream-fusion-better/stream_fusion/constants.py
LimeDrive fa68cb2c6b feat: Implement title matching and language rules management
- Refactored title filtering logic in `filter_results.py` to utilize a new title matching module.
- Introduced normalization functions for search queries in `jackett_service.py` and `yggflix_service.py`.
- Added new endpoints for managing title and language normalization rules in the admin views.
- Implemented loading and reloading of title matching and language rules in the application lifecycle.
- Enhanced release group extraction and language detection in `parser_utils.py` using the new title matching module.
2026-04-01 11:04:04 +02:00

32 lines
2.6 KiB
Python

FR_RELEASE_GROUPS = [
r"(?<=[.\s\-\[])(BlackAngel|Choco|Sicario|Tezcat74|TyrellCorp|Zapax)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(FtLi|Goldenyann|MUSTANG|Obi|PEPiTE|QUEBEC63|QC63|ROMKENT|R3MiX)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(FLOP|FRATERNiTY|QTZ|PopHD|toto70300|GHT|EXTREME|AvALoN|KFL|mHDgz)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(DUSTiN|QUALiTY|Tsundere-Raws|LAZARUS|ALFA|SODAPOP|Tetine|DREAM|Winks)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(BDHD|MAX|SowHD|SN2P|RG|BTT|KAF|AwA|MULTiViSiON|FERVEX|Foxhound|K7|LiBERTAD)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(FUJiSAN|HDForever|MARBLECAKE|MYSTERiON|ONLY|UTT|ZiT|JP48|SEL|PATOMiEL)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(BONBON|FCK|FW|FoX|FrIeNdS|MOONLY|MTDK|PATOPESTO|Psaro|T3KASHi|TFA)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(ALLDAYiN|ARK01|HANAMi|HeavyWeight|NEO|NoNe|ONLYMOViE|Slay3R|TkHD)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(4FR|AiR3D|AiRDOCS|AiRFORCE|AiRLiNE|AiRTV|AKLHD|AMB3R|SERQPH|Elcrackito)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(ANMWR|AVON|AYMO|AZR|BANKAi|BAWLS|BiPOLAR|BLACKPANTERS|BODIE|BOOLZ|BRiNK|CARAPiLS|CiELOS)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(CiNEMA|CMBHD|CoRa|COUAC|CRYPT0|D4KiD|DEAL|DiEBEX|DUPLI|DUSS|ENJOi|EUBDS|FHD|FiDELiO|FiDO|ForceBleue)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(FREAMON|FRENCHDEADPOOL2|FRiES|FUTiL|FWDHD|GHOULS|GiMBAP|GLiMMER|Goatlove|HERC|HiggsBoson|HiRoSHiMa)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(HYBRiS|HyDe|JMT|JoKeR|JUSTICELEAGUE|KAZETV|L0SERNiGHT|LaoZi|LeON|LOFiDEL|LOST|LOWIMDB|LYPSG|MAGiCAL)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(MANGACiTY|MAXAGAZ|MaxiBeNoul|McNULTY|MELBA|MiND|MORELAND|MUNSTER|MUxHD|NERDHD|NERO|NrZ|NTK|OBSTACLE)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(OohLaLa|OOKAMI|PANZeR|PiNKPANTERS|PKPTRS|PRiDEHD|PROPJOE|PURE|PUREWASTEOFBW|ROUGH|RUDE|Ryotox|SAFETY)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(SASHiMi|SEiGHT|SESKAPiLE|SHEEEiT|SHiNiGAMi(UHD)?|SiGeRiS|SILVIODANTE|SLEEPINGFOREST|SODAPOP|S4LVE|SPINE)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(SPOiLER|STRINGERBELL|SUNRiSE|tFR|THENiGHTMAREiNHD|THiNK|THREESOME|TiMELiNE|TSuNaMi|UKDHD|UKDTV|ULSHD|Ulysse)(?=[.\s\-$$]|$)",
r"(?<=[.\s\-\[])(USUNSKiLLED|URY|VENUE|VFC|VoMiT|Wednesday29th|ZEST|ZiRCON)(?=[.\s\-$$]|$)",
]
FRENCH_PATTERNS = {
"VFF": r"\b(?:VFF|TRUEFRENCH)\b",
"VF2": r"\b(?:VF2)\b",
"VFQ": r"\b(?:VFQ)\b",
"VFI": r"\b(?:VFI)\b",
"VOF": r"\b(?:VOF)\b",
"VQ": r"\b(?:VOQ|VQ)\b",
"VOSTFR": r"\b(?:VOSTFR|SUBFRENCH)\b",
"FRENCH": r"\b(?:FRENCH|FR)\b",
"MULTI": r"\b(?:MULTI)\b",
}