mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-22 10:51:02 +01:00
Improvement/QxR Overhaul (#57)
- Included all member names as QxR tag is not always present for grabs or imports - Added x265 conditions to avoid any x264 releases - Added h265 condition to avoid encodes mislabeled as WEBs - Negate releases from UTR. Some of these QxR members have moved back and forth, and can be lower quality - Removed old Tigole and Ghost CFs - Negate HONE releases - Lowered QxR quality score to below other tier 3 groups. Too many unparsed extras and other complications. Co-authored-by: wheat4714.usedwhensimpleloginisbanned@gmail.com <wheat4714.usedwhensimpleloginisbanned@gmail.com> Co-authored-by: santiagosayshey <sayheysantiago@proton.me>
This commit is contained in:
@@ -14495,33 +14495,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "QxR",
|
||||
"includeCustomFormatWhenRenaming": true,
|
||||
"specifications": [
|
||||
{
|
||||
"name": "QxR",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": false,
|
||||
"required": true,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "(?<=^|[\\s.-])QxR\\b",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "R1GY3B / B3YG1R",
|
||||
"includeCustomFormatWhenRenaming": true,
|
||||
@@ -14959,13 +14932,13 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Tigole",
|
||||
"includeCustomFormatWhenRenaming": false,
|
||||
"name": "QxR",
|
||||
"includeCustomFormatWhenRenaming": true,
|
||||
"specifications": [
|
||||
{
|
||||
"name": "Tigole",
|
||||
"implementation": "ReleaseGroupSpecification",
|
||||
"implementationName": "Release Group",
|
||||
"name": "QxR",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": false,
|
||||
"required": true,
|
||||
@@ -14975,7 +14948,7 @@
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "(?<=^|[\\s.-])Tigole\\b",
|
||||
"value": "(?<=^|[\\s.-])(Tigole|FreetheFish|SAMPA|afm72|Silence|r00t|YOGI|MONOLITH|Panda|Kappa|t3nzin|RCVR|ImE|RZero|Garshasp|Ghost|Bandi|QxR|Natty)(?![.\\d])",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
@@ -14984,7 +14957,28 @@
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "QxR",
|
||||
"name": "x265",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": false,
|
||||
"required": true,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "^(?!.*(?i:remux))(?=.*(\\b[x]\\s?(\\.?265)\\b|HEVC)).*$",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "h265",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
@@ -14996,7 +14990,70 @@
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "(?<=^|[\\s.-])QxR\\b",
|
||||
"value": "(?i)h\\s*\\.?\\s*265",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "UTR (Group)",
|
||||
"implementation": "ReleaseGroupSpecification",
|
||||
"implementationName": "Release Group",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": true,
|
||||
"required": true,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "UTR",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "UTR (Title)",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": true,
|
||||
"required": true,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "(?<=^|[\\s.-])(UTR)(?![.\\d])\\b",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
"isFloat": false
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "HONE",
|
||||
"implementation": "ReleaseTitleSpecification",
|
||||
"implementationName": "Release Title",
|
||||
"infoLink": "https://wiki.servarr.com/radarr/settings#custom-formats-2",
|
||||
"negate": true,
|
||||
"required": true,
|
||||
"fields": [
|
||||
{
|
||||
"order": 0,
|
||||
"name": "value",
|
||||
"label": "Regular Expression",
|
||||
"helpText": "Custom Format RegEx is Case Insensitive",
|
||||
"value": "(?<=^|[\\s.-])HONE\\b",
|
||||
"type": "textbox",
|
||||
"advanced": false,
|
||||
"privacy": "normal",
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -270,7 +270,7 @@
|
||||
{
|
||||
"format": 243,
|
||||
"name": "QxR",
|
||||
"score": 720
|
||||
"score": 710
|
||||
},
|
||||
{
|
||||
"format": 242,
|
||||
|
||||
@@ -20,7 +20,7 @@ def h265(debug_level=0):
|
||||
h265_value_radarr = h265_value_radarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
h265_value_sonarr = h265_value_sonarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
|
||||
if debug_level > 1:
|
||||
if debug_level > 0:
|
||||
print(f"Testing with regex: {h265_value_radarr}")
|
||||
|
||||
# Compare Radarr and Sonarr h265 regex values
|
||||
|
||||
299
tests/qxr.py
Normal file
299
tests/qxr.py
Normal file
@@ -0,0 +1,299 @@
|
||||
from extract import get_custom_format, get_regex
|
||||
import re
|
||||
import sys
|
||||
|
||||
# ANSI escape codes for colors
|
||||
GREEN = '\033[92m'
|
||||
RED = '\033[91m'
|
||||
RESET = '\033[0m'
|
||||
|
||||
qxr_groups = {
|
||||
"Tigole QxR" : [
|
||||
"A Bug's Life (1998) (2160p UHD BluRay x265 HDR AAC 7.1 English - Tigole QxR)",
|
||||
"1408 (2007) Director's Cut (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)",
|
||||
"A Fistful of Dollars (1964) (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)",
|
||||
"A Taxi Driver (2017) (1080p BluRay x265 SDR AAC 5.1 Korean - Tigole QxR)",
|
||||
"A Ghost Story (2017) (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)",
|
||||
"Around the World in 80 Days (2004) (1080p BluRay x265 SDR AAC 6.1 English - Tigole QxR)",
|
||||
"A Good Marriage (1982) (1080p BluRay x265 SDR AAC 1.0 French - Tigole QxR)",
|
||||
"A Prophet (2009) (1080p BluRay x265 SDR AAC 5.1 French - Tigole QxR)",
|
||||
"A Pigeon Sat on a Branch Reflecting on Existence (2014) (1080p BluRay x265 SDR AAC 5.1 Swedish - Tigole QxR)",
|
||||
"A Man for All Seasons (1966) (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)"
|
||||
],
|
||||
|
||||
"Ghost QxR" : [
|
||||
"Gentleman Jack (2019) S01 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - Ghost QxR)",
|
||||
"Gentleman Jack (2019) S02 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - Ghost QxR)",
|
||||
"Tuca & Bertie (2019) S01 (1080p NF WEB-DL x265 SDR DDP 5.1 English - Ghost QxR)",
|
||||
"Tuca & Bertie (2019) S02 (1080p HULU WEB-DL x265 SDR AAC 2.0 English - Ghost QxR)",
|
||||
"Barry (2018) S01 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - Ghost QxR)",
|
||||
"Barry (2018) S02 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - Ghost QxR)",
|
||||
"Barry (2018) S03 (1080p HMAX WEB-DL x265 SDR DD 5.1 English - Ghost QxR)",
|
||||
"Scooby-Doo, Where Are You! (1969) S01-S02 (1080p BluRay x265 SDR DD 2.0 English - Ghost QxR)",
|
||||
"The Scooby-Doo Show (1976) S01-S03 (1080p Mixed x265 SDR Mixed 2.0 English - Ghost QxR)",
|
||||
"What's New, Scooby-Doo? (2002) S01-S03 + Specials (1080p HMAX WEB-DL x265 SDR DD 2.0 English - Ghost QxR)"
|
||||
],
|
||||
|
||||
"Bandi QxR" : [
|
||||
"Scooby-Doo! Meets the Boo Brothers (1987) (1080p iT WEB-DL x265 SDR AAC 2.0 English - Ghost QxR)",
|
||||
"Ricky Gervais Live 4: Science (2010) (1080p BluRay x265 SDR AAC 2.0 English - Bandi QxR)",
|
||||
"City of God (2002) (1080p BluRay x265 SDR DDP 5.1 Portuguese - Bandi QxR)",
|
||||
"The Platform (2019) (1080p BluRay x265 SDR DDP 5.1 DUAL - Bandi QxR)",
|
||||
"Amores Perros (2000) (1080p BluRay x265 SDR DDP 5.1 Spanish - Bandi QxR)",
|
||||
"Day of the Woman (1978) Uncut (1080p BluRay x265 SDR AAC 2.0 English - Bandi QxR)",
|
||||
"Frida (2002) (1080p BluRay x265 SDR AAC 5.1 English - Bandi QxR)",
|
||||
"Blue Is the Warmest Color (2013) (1080p BluRay x265 SDR AAC 5.1 French - Bandi QxR)",
|
||||
"CODA (2021) (1080p DS4K ATVP WEB-DL x265 SDR DDP Atmos 5.1 English - Bandi QxR)",
|
||||
"Liz and the Blue Bird (2018) (1080p BluRay x265 SDR AAC 5.1 DUAL - Bandi QxR)"
|
||||
],
|
||||
|
||||
"Silence QxR" : [
|
||||
"Parasite (2019) B&W Version (1080p BluRay x265 SDR AAC 5.1 Korean - Silence QxR)",
|
||||
"She Said (2022) (1080p MA WEB-DL x265 SDR DDP 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S01 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S02 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S03 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S04 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S05 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S06 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S07 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"The Office (2005) S08 (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)"
|
||||
],
|
||||
|
||||
"Rzerox QxR" : [
|
||||
"Monk (2002) S01 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - RZeroX QxR)",
|
||||
"Monk (2002) S02 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - RZeroX QxR)",
|
||||
"Monk (2002) S03 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - RZeroX QxR)",
|
||||
"Monk (2002) S08 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - RZeroX QxR)",
|
||||
"Monk (2002) S04 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - RZeroX QxR)",
|
||||
"Monk (2002) S05 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - RZeroX QxR)",
|
||||
"Monk (2002) S06 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - RZeroX QxR)",
|
||||
"Monk (2002) S07 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - RZeroX QxR)",
|
||||
"Wallace & Gromit - The Curse of the Were-Rabbit (2005) (1080p BluRay x265 SDR AAC 5.1 English - RZeroX QxR)",
|
||||
"Gifted (2017) (1080p BluRay x265 SDR AAC 5.1 English - RZeroX QxR)"
|
||||
],
|
||||
|
||||
"Sampa QxR" : [
|
||||
"Ad Astra (2019) (2160p UHD BluRay x265 HDR TrueHD Atmos 7.1 English - SAMPA QxR)",
|
||||
"Alita - Battle Angel (2019) Open Matte (1080p WEB-DL Hybrid x265 SDR DDP 7.1 English - SAMPA QxR)",
|
||||
"The Adventures of Tintin (2011) (1080p BluRay x265 SDR DDP 7.1 English - SAMPA QxR)",
|
||||
"The Killer (1989) (1080p BluRay x265 SDR DDP 5.1 DUAL - SAMPA QxR)",
|
||||
"The Assassin (2015) (1080p BluRay x265 SDR DD 5.1 Mandarin - SAMPA QxR)",
|
||||
"The Incredible Hulk (2008) (1080p BluRay x265 SDR DDP 7.1 English - SAMPA QxR)",
|
||||
"The Living Daylights (1987) (1080p BluRay x265 SDR DTS 5.1 English - SAMPA QxR)",
|
||||
"Bumblebee (2018) (2160p UHD BluRay x265 HDR TrueHD Atmos 7.1 English - SAMPA QxR)",
|
||||
"Pitch Black (2000) (1080p BluRay x265 SDR AAC 5.1 English - Natty QxR)",
|
||||
"Queen (2014) (1080p BluRay x265 SDR AAC 7.1 Hindi - Natty QxR)"
|
||||
],
|
||||
|
||||
"FreeTheFish QxR" : [
|
||||
"Flubber (1997) (1080p WEBRip x265 SDR DDP 5.1 English - FreetheFish QxR)",
|
||||
"The Breakfast Club (1985) Criterion (1080p BluRay x265 SDR AAC 5.1 English - FreetheFish QxR)",
|
||||
"A Christmas Story (1983) (1080p BluRay x265 SDR AAC 1.0 English - FreetheFish QxR)",
|
||||
"Freaky Friday (2003) 15th Anniversary (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)",
|
||||
"How the Grinch Stole Christmas! (1966) (1080p BluRay x265 SDR AAC 2.0 English - FreetheFish QxR)",
|
||||
"The Nightmare Before Christmas (1993) (1080p BluRay x265 SDR AAC 7.1 English - FreetheFish QxR)",
|
||||
"American History X (1998) (1080p BluRay x265 SDR AAC 7.1 English - FreetheFish QxR)",
|
||||
"The Hunchback of Notre Dame (1996) (1080p BluRay x265 SDR AAC 5.1 English - FreetheFish QxR)",
|
||||
"Bodied (2018) (1080p DS4K RED WEB-DL x265 SDR AAC 5.1 English - FreetheFish QxR)",
|
||||
"Arthur and the Invisibles (2006) (1080p BluRay x265 SDR AAC 5.1 English - FreetheFish QxR)"
|
||||
],
|
||||
|
||||
"Natty QxR" : [
|
||||
"Swades (2004) (1080p BluRay x265 SDR AAC 5.1 Hindi - Natty QxR)",
|
||||
"You Dont Mess with the Zohan (2008) UNRATED (1080p BluRay x265 SDR AAC 5.1 English - Natty QxR)",
|
||||
"Khakee (2004) (1080p BluRay x265 SDR AAC 2.0 Hindi - Natty QxR)",
|
||||
"The Message (1976) (1080p BluRay x265 SDR AAC 5.1 English - Natty QxR)",
|
||||
"3:10 to Yuma (2007) (1080p BluRay x265 SDR AAC 7.1 English - afm72 QxR)",
|
||||
"Premium Rush (2012) (1080p BluRay x265 SDR AAC 5.1 English - afm72 QxR)",
|
||||
"Forrest Gump (1994) (1080p BluRay x265 SDR AAC 7.1 English - afm72 QxR)",
|
||||
"Bill & Ted's Excellent Adventure (1989) (1080p RM4K BluRay x265 SDR AAC 2.0 English - Tigole QxR)",
|
||||
"Nick and Norah's Infinite Playlist (2008) (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)",
|
||||
"Iron Sky (2012) Director's Cut (1080p BluRay x265 SDR AAC 5.1 English - Tigole QxR)"
|
||||
],
|
||||
|
||||
"afm72 QxR" : [
|
||||
"21 Grams (2003) (1080p BluRay x265 SDR AAC 5.1 English - afm72 QxR)",
|
||||
"Dog Day Afternoon (1975) (1080p BluRay x265 SDR AAC 1.0 English - afm72 QxR)",
|
||||
"Bicycle Thieves (1948) Arrow (1080p BluRay x265 SDR AAC 1.0 Italian - afm72 QxR)",
|
||||
"Bringing Up Baby (1938) Criterion (1080p BluRay x265 SDR AAC 1.0 English - afm72 QxR)",
|
||||
"Definitely, Maybe (2008) (1080p BluRay x265 SDR AAC 5.1 English - afm72 QxR)",
|
||||
"La Strada (1954) Criterion (1080p BluRay x265 SDR AAC 1.0 DUAL - afm72 QxR)",
|
||||
"Ikiru (1952) Criterion (1080p BluRay x265 SDR AAC 1.0 Japanese - afm72 QxR)",
|
||||
"Kes (1970) (1080p BluRay x265 SDR AAC 1.0 English - afm72 QxR)",
|
||||
"Where Is My Friend's House? (1987) Criterion (1080p BluRay x265 SDR AAC 1.0 Persian - afm72 QxR)",
|
||||
"Stalker (1979) (1080p BluRay x265 SDR AAC 2.0 Russian - afm72 QxR)"
|
||||
],
|
||||
|
||||
"iME QxR" : [
|
||||
"The Twilight Zone (1959) S01 (1080p BluRay x265 SDR AAC 2.0 English - ImE QxR)",
|
||||
"The Twilight Zone (1959) S02 (1080p BluRay x265 SDR AAC 2.0 English - ImE QxR)",
|
||||
"The Twilight Zone (1959) S03 (1080p BluRay x265 SDR AAC 2.0 English - ImE QxR)",
|
||||
"The Twilight Zone (1959) S04 (1080p BluRay x265 SDR AAC 2.0 English - ImE QxR)",
|
||||
"The Twilight Zone (1959) S05 (1080p BluRay x265 SDR AAC 2.0 English - ImE QxR)",
|
||||
"The West Wing (1999) S00 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - ImE QxR)",
|
||||
"The West Wing (1999) S01 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - ImE QxR)",
|
||||
"The West Wing (1999) S02 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - ImE QxR)",
|
||||
"The West Wing (1999) S03 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - ImE QxR)",
|
||||
"The West Wing (1999) S04 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - ImE QxR)"
|
||||
],
|
||||
|
||||
"MONOLiTH QxR" : [
|
||||
"Last Week Tonight with John Oliver (2014) S01 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S02 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S03 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S04 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S05 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S06 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S07 (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - MONOLITH QxR)",
|
||||
"Last Week Tonight with John Oliver (2014) S08 (1080p HMAX WEB-DL x265 SDR DD 2.0 English - MONOLITH QxR)",
|
||||
"How It's Made (2001) S24 (1080p WEB-DL x265 SDR AAC 2.0 English - MONOLITH QxR)",
|
||||
"How It's Made (2001) S28 (1080p WEB-DL x265 SDR AAC 2.0 English - MONOLITH QxR)"
|
||||
],
|
||||
|
||||
"r00t QxR" : [
|
||||
"A Face in the Crowd (1957) (1080p BluRay x265 SDR AAC 1.0 English - r00t QxR)",
|
||||
"Anatomy of a Murder (1959) Criterion (1080p BluRay x265 SDR AAC 1.0 English - r00t QxR)",
|
||||
"BASEketball (1998) (1080p BluRay x265 SDR AAC 5.1 English - r00t QxR)",
|
||||
"Belle de Jour (1967) Criterion (1080p BluRay x265 SDR AAC 1.0 French - r00t QxR)",
|
||||
"Blow-Up (1966) Criterion (1080p BluRay x265 SDR AAC 1.0 English - r00t QxR)",
|
||||
"Chimes at Midnight (1965) Criterion (1080p BluRay x265 SDR AAC 1.0 English - r00t QxR)",
|
||||
"High and Low (1963) Criterion (1080p BluRay x265 SDR AAC 4.0 Japanese - r00t QxR)",
|
||||
"House (1977) Criterion (1080p BluRay x265 SDR AAC 1.0 Japanese - r00t QxR)",
|
||||
"The Lady from Shanghai (1947) (1080p BluRay x265 SDR AAC 1.0 English - r00t QxR)",
|
||||
"The 400 Blows (1959) Criterion (1080p BluRay x265 SDR AAC 1.0 French - r00t QxR)"
|
||||
],
|
||||
|
||||
"RCVR QxR" : [
|
||||
"Gavin & Stacey (2007) S01 (1080p BluRay x265 SDR AAC 2.0 English - RCVR QxR)",
|
||||
"Gavin & Stacey (2007) S02 (1080p BluRay x265 SDR AAC 2.0 English - RCVR QxR)",
|
||||
"Gavin & Stacey (2007) S03 (1080p BluRay x265 SDR AAC 2.0 English - RCVR QxR)",
|
||||
"South Park (1997) S01 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S02 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S03 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S04 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S05 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S06 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)",
|
||||
"South Park (1997) S07 (1080p BluRay x265 SDR AAC 5.1 English - RCVR QxR)"
|
||||
],
|
||||
|
||||
"YOGi QxR" : [
|
||||
"The Boondocks (2005) S01 (1080p HMAX WEB-DL x265 SDR DD 2.0 English - YOGI QxR)",
|
||||
"The Boondocks (2005) S02 (1080p HMAX WEB-DL x265 SDR DD 2.0 English - YOGI QxR)",
|
||||
"The Boondocks (2005) S03 (1080p HMAX WEB-DL x265 SDR DD 5.1 English - YOGI QxR)",
|
||||
"The Boondocks (2005) S04 (1080p HMAX WEB-DL x265 SDR DD 5.1 English - YOGI QxR)",
|
||||
"Star Wars - The Clone Wars (2008) S07 (1080p DSNP WEB-DL x265 SDR DDP 5.1 English - YOGI QxR)",
|
||||
"A Goofy Movie (1995) (1080p BluRay x265 SDR DD 2.0 English - YOGI QxR)",
|
||||
"Rush Hour (1998) (1080p BluRay x265 SDR DDP 7.1 English - YOGI QxR)",
|
||||
"Rush Hour 3 (2007) (1080p BluRay x265 SDR DDP 7.1 English - YOGI QxR)",
|
||||
"Rush Hour 2 (2001) (1080p BluRay x265 SDR DDP 5.1 English - YOGI QxR)",
|
||||
"Rush Hour (2016) S01 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - YOGI QxR)",
|
||||
"The VelociPastor (2018) (1080p AMZN WEB-DL x265 SDR DDP 2.0 English - YOGI QxR)"
|
||||
],
|
||||
|
||||
"Kappa QxR" : [
|
||||
"Californication (2007) S01 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S02 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S03 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S04 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S05 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S06 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Californication (2007) S07 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Chuck (2007) S01 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Chuck (2007) S02 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)",
|
||||
"Chuck (2007) S03 (1080p BluRay x265 SDR AAC 5.1 English - Kappa QxR)"
|
||||
],
|
||||
|
||||
"QxR" : [
|
||||
"Over the Garden Wall (2014) S01 (1080p BluRay x265 SDR AAC 2.0 English - QxR)"
|
||||
],
|
||||
|
||||
"t3nzin QxR" : [
|
||||
"Euphoria (2019) S00E01 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)",
|
||||
"Euphoria (2019) S00E02 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)",
|
||||
"Euphoria (2019) S01 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)",
|
||||
"Euphoria (2019) S02 (1080p AMZN WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)",
|
||||
"House of the Dragon (2022) S01 (1080p BluRay x265 SDR DDP Atmos 5.1 English - t3nzin QxR)",
|
||||
"Only Murders in the Building (2021) S02 (1080p DSNP WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)",
|
||||
"Ted Lasso (2020) S02 (1080p ATVP WEB-DL x265 SDR DDP Atmos 5.1 English - t3nzin QxR)",
|
||||
"Ted Lasso (2020) S00E07 (1080p ATVP WEB-DL x265 SDR DDP Atmos 5.1 English - t3nzin QxR)",
|
||||
"Tiger King (2020) S01 (1080p NF WEB-DL x265 SDR DDP Atmos 5.1 English - t3nzin QxR)",
|
||||
"Tiger King (2020) S02 (1080p NF WEB-DL x265 SDR DDP 5.1 English - t3nzin QxR)"
|
||||
],
|
||||
|
||||
"Panda QxR" : [
|
||||
"What We Do in the Shadows (2014) (1080p BluRay x265 SDR AAC 5.1 English - Silence QxR)",
|
||||
"Black Mirror (2011) S03 (1080p BluRay x265 SDR AAC 5.1 English - Panda QxR)",
|
||||
"Black Mirror (2011) S04 (1080p BluRay x265 SDR AAC 5.1 English - Panda QxR)",
|
||||
"Threads (1984) (1080p BluRay x265 SDR AAC 2.0 English - Panda QxR)",
|
||||
"Bicentennial Man (1999) (1080p AMZN WEB-DL x265 SDR AAC 5.1 English - Panda QxR)",
|
||||
"Blue Mountain State (2010) S01 (1080p BluRay x265 SDR AAC 5.1 English - Panda QxR)",
|
||||
"Blue Mountain State (2010) S02 (1080p WEB-DL x265 SDR AAC 2.0 English - Panda QxR)",
|
||||
"Blue Mountain State (2010) S03 (1080p WEB-DL x265 SDR AAC 2.0 English - Panda QxR)",
|
||||
"Blue Mountain State - The Rise of Thadland (2016) (1080p BluRay x265 SDR AAC 5.1 English - Panda QxR)",
|
||||
"Children of Men (2006) (1080p BluRay x265 SDR AAC 5.1 English - Panda QxR)"
|
||||
],
|
||||
|
||||
"Garshasp QxR" : [
|
||||
"Titanic (1997) (1080p BluRay x265 SDR AAC 5.1 English - Garshasp QxR)",
|
||||
"The Red Turtle (2016) (1080p BluRay x265 SDR DDP 5.1 English - Garshasp QxR)",
|
||||
"Howl's Moving Castle (2004) (1080p BluRay x265 SDR DDP 5.1 DUAL - Garshasp QxR)",
|
||||
"While You Were Sleeping (1995) (1080p BluRay x265 SDR DDP 5.1 English - Garshasp QxR)",
|
||||
"From Up on Poppy Hill (2011) (1080p BluRay x265 SDR DDP 5.1 DUAL - Garshasp QxR)",
|
||||
"The Wind Rises (2013) (1080p BluRay x265 SDR DDP 2.0 DUAL - Garshasp QxR)",
|
||||
"Adventures of Tintin (1991) S01 (1080p BluRay x265 SDR DDP 5.1 DUAL - Garshasp QxR)",
|
||||
"Adventures of Tintin (1991) S02 (1080p BluRay x265 SDR DDP 5.1 DUAL - Garshasp QxR)",
|
||||
"Adventures of Tintin (1991) S03 (1080p BluRay x265 SDR DDP 5.1 DUAL - Garshasp QxR)",
|
||||
"Planet of the Apes (1968) (1080p BluRay x265 SDR DDP 5.1 English - Garshasp QxR)"
|
||||
],
|
||||
|
||||
"Lion QxR" : [
|
||||
"Millennium (2010) S01 (1080p BluRay x265 SDR AAC 5.1 Swedish - LION QxR)"
|
||||
],
|
||||
|
||||
"Langbard QxR" : [
|
||||
"Constantine (2014) S01 (1080p BluRay x265 SDR AAC 5.1 English - Langbard QxR)"
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
def qxr(debug_level=0):
|
||||
# Get the custom formats for "qxr" from both Radarr and Sonarr
|
||||
qxr_radarr = get_custom_format("qxr", "radarr", debug_level)
|
||||
qxr_sonarr = get_custom_format("qxr", "sonarr", debug_level)
|
||||
|
||||
# Extract the regex values for both Radarr and Sonarr using get_regex
|
||||
qxr_value_radarr = get_regex(qxr_radarr, "qxr", debug_level)
|
||||
qxr_value_sonarr = get_regex(qxr_sonarr, "qxr", debug_level)
|
||||
|
||||
# Replace the negative lookbehind with a negative lookahead
|
||||
qxr_value_radarr = qxr_value_radarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
qxr_value_sonarr = qxr_value_sonarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
|
||||
if debug_level > 0:
|
||||
print(f"Testing with regex: {qxr_value_radarr}")
|
||||
|
||||
# Compare Radarr and Sonarr qxr regex values
|
||||
if qxr_value_radarr != qxr_value_sonarr:
|
||||
print("Test Failed: regex value not same.")
|
||||
print(f"Radarr regex: {qxr_value_radarr}")
|
||||
print(f"Sonarr regex: {qxr_value_sonarr}")
|
||||
sys.exit(1)
|
||||
|
||||
failed_matches = []
|
||||
|
||||
for group in qxr_groups:
|
||||
print(f"\nTesting {group}:")
|
||||
for release in qxr_groups[group]: # Access the list of releases using the dictionary key
|
||||
if re.search(qxr_value_radarr, release, re.IGNORECASE):
|
||||
print(f" - {release}: {GREEN}Passed{RESET}")
|
||||
else:
|
||||
failed_matches.append(release)
|
||||
print(f" - {release}: {RED}Failed{RESET}")
|
||||
|
||||
|
||||
# Determine and print overall test result
|
||||
if not failed_matches:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
@@ -1,6 +1,8 @@
|
||||
import sys
|
||||
from roku import roku
|
||||
from h265verify import h265
|
||||
from qxr import qxr
|
||||
from utr import utr
|
||||
# ... import other test functions
|
||||
|
||||
# ANSI escape codes for colors
|
||||
@@ -13,7 +15,10 @@ RESET = '\033[0m'
|
||||
def run_tests():
|
||||
tests = [
|
||||
("ROKU", roku),
|
||||
("h265 Verified Groups", h265)
|
||||
("h265 Verified Groups", h265),
|
||||
("QxR Groups", qxr),
|
||||
("UTR Groups", utr)
|
||||
|
||||
# ... add other test functions
|
||||
]
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@ def roku(debug_level=0):
|
||||
roku_value_radarr = get_regex(roku_radarr, "roku", debug_level)
|
||||
roku_value_sonarr = get_regex(roku_sonarr, "roku", debug_level)
|
||||
|
||||
if debug_level == 0:
|
||||
if debug_level > 0:
|
||||
print(f"Testing with regex: {roku_value_radarr}")
|
||||
|
||||
# Compare Radarr and Sonarr Roku regex values
|
||||
|
||||
101
tests/utr.py
Normal file
101
tests/utr.py
Normal file
@@ -0,0 +1,101 @@
|
||||
from extract import get_custom_format, get_regex
|
||||
import re
|
||||
import sys
|
||||
|
||||
# ANSI escape codes for colors
|
||||
GREEN = '\033[92m'
|
||||
RED = '\033[91m'
|
||||
RESET = '\033[0m'
|
||||
|
||||
def utr(debug_level=0):
|
||||
# Define good and bad matches for Radarr and Sonarr
|
||||
radarr_good_matches = [
|
||||
"Brigsby Bear (2017) (1080p BluRay x265 SDR AAC 5.1 English - Tigole UTR)",
|
||||
"Risky Business (1983) (1080p BluRay x265 SDR AAC 5.1 English - FreetheFish UTR)",
|
||||
"Labyrinth (1986) 30th Anniversary (1080p BluRay x265 SDR AAC 7.1 English - Tigole UTR)",
|
||||
"Love Actually (2003) (1080p BluRay x265 SDR AAC 5.1 English - Tigole UTR)"
|
||||
]
|
||||
radarr_bad_matches = [
|
||||
"Eva.Soda.Utroskab.med.den.første.kvinde.i.bilen.Sex.i.bilen.6462a7a8a5d9e.",
|
||||
"Outrage.1950.1080p.BluRay.Flac.2.0.x265.HEVC-Nb8.mkv",
|
||||
"Utro 1966 DANiSH 720p WEB-DL H 264 AAC2 0-TWA"
|
||||
]
|
||||
sonarr_good_matches = [
|
||||
"The Simpsons (1989) S07 (480p DVD x265 SDR AAC 5.1 English - ImE UTR)",
|
||||
"The Simpsons (1989) S14 (1080p BluRay x265 SDR AAC 5.1 English - ImE UTR)"
|
||||
]
|
||||
sonarr_bad_matches = [
|
||||
"The.Outreau.Case.A.French.Nightmare.S01E01.The.Renard.Block.1080p.NF.WEB-DL.DDP5.1.H.264-NTb.mkv",
|
||||
"The.Outreau.Case.A.French.Nightmare.S01.1080p.NF.WEB-DL.DDP5.1.H.264-NTb"
|
||||
]
|
||||
|
||||
# Get the custom formats for "qxr" from both Radarr and Sonarr
|
||||
qxr_radarr = get_custom_format("qxr", "radarr", debug_level)
|
||||
qxr_sonarr = get_custom_format("qxr", "sonarr", debug_level)
|
||||
|
||||
# Extract the regex values for both Radarr and Sonarr using get_regex
|
||||
UTR_value_radarr = get_regex(qxr_radarr, "UTR (Title)", debug_level)
|
||||
UTR_value_sonarr = get_regex(qxr_sonarr, "UTR (Title)", debug_level)
|
||||
|
||||
# Replace the negative lookbehind with a negative lookahead if necessary
|
||||
UTR_value_radarr = UTR_value_radarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
UTR_value_sonarr = UTR_value_sonarr.replace("(?<=^|[\\s.-])", "(?:^|[\\s.-])")
|
||||
|
||||
if debug_level > 0:
|
||||
print(f"Testing with regex: {UTR_value_radarr}")
|
||||
|
||||
# Compare Radarr and Sonarr qxr regex values
|
||||
if UTR_value_radarr != UTR_value_sonarr:
|
||||
print("Test Failed: regex value not same.")
|
||||
print(f"Radarr regex: {UTR_value_radarr}")
|
||||
print(f"Sonarr regex: {UTR_value_sonarr}")
|
||||
sys.exit(1)
|
||||
|
||||
failed_good_matches = []
|
||||
failed_bad_matches = []
|
||||
|
||||
# Print Radarr Good Matches
|
||||
print("\nRadarr Releases:")
|
||||
print("----------------")
|
||||
print("Should Match:")
|
||||
for term in radarr_good_matches:
|
||||
if re.search(UTR_value_radarr, term, re.IGNORECASE):
|
||||
print(f" - {term}: {GREEN}Passed{RESET}")
|
||||
else:
|
||||
failed_good_matches.append(("Radarr", term))
|
||||
print(f" - {term}: {RED}Failed{RESET}")
|
||||
|
||||
# Print Radarr Bad Matches
|
||||
print("\nShould NOT Match:")
|
||||
for term in radarr_bad_matches:
|
||||
if not re.search(UTR_value_radarr, term, re.IGNORECASE):
|
||||
print(f" - {term}: {GREEN}Passed{RESET}")
|
||||
else:
|
||||
failed_bad_matches.append(("Radarr", term))
|
||||
print(f" - {term}: {RED}Failed{RESET}")
|
||||
|
||||
# Print Sonarr Good Matches
|
||||
print("\nSonarr Releases:")
|
||||
print("----------------")
|
||||
print("Should Match:")
|
||||
for term in sonarr_good_matches:
|
||||
if re.search(UTR_value_sonarr, term, re.IGNORECASE):
|
||||
print(f" - {term}: {GREEN}Passed{RESET}")
|
||||
else:
|
||||
failed_good_matches.append(("Sonarr", term))
|
||||
print(f" - {term}: {RED}Failed{RESET}")
|
||||
|
||||
# Print Sonarr Bad Matches
|
||||
print("\nShould NOT Match:")
|
||||
for term in sonarr_bad_matches:
|
||||
if not re.search(UTR_value_sonarr, term, re.IGNORECASE):
|
||||
print(f" - {term}: {GREEN}Passed{RESET}")
|
||||
else:
|
||||
failed_bad_matches.append(("Sonarr", term))
|
||||
print(f" - {term}: {RED}Failed{RESET}")
|
||||
|
||||
# Determine and print overall test result
|
||||
if not failed_good_matches and not failed_bad_matches:
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
Reference in New Issue
Block a user