Merge branch 'stable' of https://github.com/Dictionarry-Hub/database into scoring-refactor

This commit is contained in:
Sam Chau
2025-04-05 10:23:22 +10:30
23 changed files with 831 additions and 536 deletions

View File

@@ -416,6 +416,13 @@
"pattern": "(?<=^|[\\s.-])ZQ\\b", "pattern": "(?<=^|[\\s.-])ZQ\\b",
"required": false, "required": false,
"type": "release_group" "type": "release_group"
},
{
"name": "ZoroSenpai",
"type": "release_group",
"required": false,
"negate": false,
"pattern": "(?<=^|[\\s.-])ZoroSenpai\\b"
} }
], ],
"tests": [], "tests": [],
@@ -594,24 +601,24 @@
"conditions": [ "conditions": [
{ {
"name": "1080p", "name": "1080p",
"type": "resolution",
"required": true,
"negate": false, "negate": false,
"resolution": "1080p" "required": true,
"resolution": "1080p",
"type": "resolution"
}, },
{ {
"name": "Not WEB-DL", "name": "Not WEB-DL",
"type": "source",
"required": true,
"negate": true, "negate": true,
"source": "web_dl" "required": true,
"source": "web_dl",
"type": "source"
}, },
{ {
"name": "Not DVD", "name": "Not DVD",
"type": "source",
"required": true,
"negate": true, "negate": true,
"source": "dvd" "required": true,
"source": "dvd",
"type": "source"
}, },
{ {
"name": "AJP69", "name": "AJP69",
@@ -671,269 +678,262 @@
}, },
{ {
"name": "EDPH", "name": "EDPH",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])EDPH\\b" "pattern": "(?<=^|[\\s.-])EDPH\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "ESiR", "name": "ESiR",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])ESiR\\b" "pattern": "(?<=^|[\\s.-])ESiR\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "EXCiSION", "name": "EXCiSION",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])EXCiSION\\b" "pattern": "(?<=^|[\\s.-])EXCiSION\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "FilmHD", "name": "FilmHD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])FilmHD\\b" "pattern": "(?<=^|[\\s.-])FilmHD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "FraMeSToR", "name": "FraMeSToR",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])FraMeSToR\\b" "pattern": "(?<=^|[\\s.-])FraMeSToR\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "FTW-HD", "name": "FTW-HD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])FTW-HD\\b" "pattern": "(?<=^|[\\s.-])FTW-HD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "GALAXY", "name": "GALAXY",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])GALAXY\\b" "pattern": "(?<=^|[\\s.-])GALAXY\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "GS88", "name": "GS88",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])GS88\\b" "pattern": "(?<=^|[\\s.-])GS88\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "HANDJOB", "name": "HANDJOB",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])HANDJOB\\b" "pattern": "(?<=^|[\\s.-])HANDJOB\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "hdalx", "name": "hdalx",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])hdalx\\b" "pattern": "(?<=^|[\\s.-])hdalx\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "iON", "name": "iON",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])iON\\b" "pattern": "(?<=^|[\\s.-])iON\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "KASHMiR", "name": "KASHMiR",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])KASHMiR\\b" "pattern": "(?<=^|[\\s.-])KASHMiR\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "LEGi0N", "name": "LEGi0N",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])LEGi0N\\b" "pattern": "(?<=^|[\\s.-])LEGi0N\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "LiNG", "name": "LiNG",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])LiNG\\b" "pattern": "(?<=^|[\\s.-])LiNG\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "LoRD", "name": "LoRD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])LoRD\\b" "pattern": "(?<=^|[\\s.-])LoRD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "luvBB", "name": "luvBB",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])luvBB\\b" "pattern": "(?<=^|[\\s.-])luvBB\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "MTeam", "name": "MTeam",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])MTeam\\b" "pattern": "(?<=^|[\\s.-])MTeam\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "nmd", "name": "nmd",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])nmd\\b" "pattern": "(?<=^|[\\s.-])nmd\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "NyHD", "name": "NyHD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])NyHD\\b" "pattern": "(?<=^|[\\s.-])NyHD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "ORiGEN", "name": "ORiGEN",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])ORiGEN\\b" "pattern": "(?<=^|[\\s.-])ORiGEN\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "P0W4HD", "name": "P0W4HD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])P0W4HD\\b" "pattern": "(?<=^|[\\s.-])P0W4HD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "Penumbra", "name": "Penumbra",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])Penumbra\\b" "pattern": "(?<=^|[\\s.-])Penumbra\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "playHD", "name": "playHD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])playHD\\b" "pattern": "(?<=^|[\\s.-])playHD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "Positive", "name": "Positive",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])Positive\\b" "pattern": "(?<=^|[\\s.-])Positive\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "PTer", "name": "PTer",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])PTer\\b" "pattern": "(?<=^|[\\s.-])PTer\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "rightSIZE", "name": "rightSIZE",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])rightSIZE\\b" "pattern": "(?<=^|[\\s.-])rightSIZE\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "rttr", "name": "rttr",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])rttr\\b" "pattern": "(?<=^|[\\s.-])rttr\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "SaNcTi", "name": "SaNcTi",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])SaNcTi\\b" "pattern": "(?<=^|[\\s.-])SaNcTi\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "SbR", "name": "SbR",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])SbR\\b" "pattern": "(?<=^|[\\s.-])SbR\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "SiMPLE", "name": "SiMPLE",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])SiMPLE\\b" "pattern": "(?<=^|[\\s.-])SiMPLE\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "SOP", "name": "SOP",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])SOP\\b" "pattern": "(?<=^|[\\s.-])SOP\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "TBB", "name": "TBB",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])TBB\\b" "pattern": "(?<=^|[\\s.-])TBB\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "TDD", "name": "TDD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])TDD\\b" "pattern": "(?<=^|[\\s.-])TDD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "VLAD", "name": "VLAD",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])VLAD\\b" "pattern": "(?<=^|[\\s.-])VLAD\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "W4NK3R", "name": "W4NK3R",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])W4NK3R\\b" "pattern": "(?<=^|[\\s.-])W4NK3R\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "xander", "name": "xander",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])xander\\b" "pattern": "(?<=^|[\\s.-])xander\\b",
"required": false,
"type": "release_group"
}, },
{ {
"name": "ZIMBO", "name": "ZIMBO",
"type": "release_group",
"required": false,
"negate": false, "negate": false,
"pattern": "(?<=^|[\\s.-])ZIMBO\\b" "pattern": "(?<=^|[\\s.-])ZIMBO\\b",
},
{
"name": "ZoroSenpai",
"type": "release_group",
"required": false, "required": false,
"negate": false, "type": "release_group"
"pattern": "(?<=^|[\\s.-])ZoroSenpai\\b"
} }
], ],
"tests": [], "tests": [],
@@ -4206,6 +4206,39 @@
], ],
"_id": "HBO Max" "_id": "HBO Max"
}, },
{
"name": "HDR",
"description": "Matches the 'HDR' Regex Pattern",
"tags": [
"Colour Grade",
"HDR"
],
"conditions": [
{
"name": "HDR",
"negate": false,
"pattern": "\\b(HDR)\\b",
"required": true,
"type": "release_title"
},
{
"name": "Not HDR10",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "\\bHDR10(?!\\+|Plus)\\b"
},
{
"name": "Not HDR10+",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "\\bHDR10.?(\\+|P(lus)?\\b)"
}
],
"tests": [],
"_id": "HDR"
},
{ {
"name": "HDR10 (Missing) (1080p)", "name": "HDR10 (Missing) (1080p)",
"description": "Attempts to match HDR10 in 1080p x265 Encodes labelled with x265", "description": "Attempts to match HDR10 in 1080p x265 Encodes labelled with x265",
@@ -4214,6 +4247,13 @@
"HDR" "HDR"
], ],
"conditions": [ "conditions": [
{
"name": "Blu-ray",
"type": "source",
"required": true,
"negate": false,
"source": "bluray"
},
{ {
"name": "1080p", "name": "1080p",
"negate": false, "negate": false,
@@ -4245,14 +4285,21 @@
{ {
"name": "Not HDR10+", "name": "Not HDR10+",
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR10(\\+|P(lus)?)", "pattern": "\\bHDR10.?(\\+|P(lus)?\\b)",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
}, },
{ {
"name": "Not HDR10", "name": "Not HDR10",
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR(?!((10)?(\\+|P(lus)?)))", "pattern": "\\bHDR10(?!\\+|Plus)\\b",
"required": true,
"type": "release_title"
},
{
"name": "Not HDR",
"negate": true,
"pattern": "\\b(HDR)\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
} }
@@ -4262,12 +4309,19 @@
}, },
{ {
"name": "HDR10 (Missing)", "name": "HDR10 (Missing)",
"description": "Attempts to match HDR10 to groups that mislabel their releases", "description": "Attempts to match HDR10 to groups that mislabel their releases. *This does not work properly in sonarr.*",
"tags": [ "tags": [
"Colour Grade", "Colour Grade",
"HDR" "HDR"
], ],
"conditions": [ "conditions": [
{
"name": "Blu-ray",
"negate": false,
"required": true,
"source": "bluray",
"type": "source"
},
{ {
"name": "2160p", "name": "2160p",
"negate": false, "negate": false,
@@ -4275,24 +4329,17 @@
"resolution": "2160p", "resolution": "2160p",
"type": "resolution" "type": "resolution"
}, },
{
"name": "Blu-ray",
"type": "source",
"required": true,
"negate": false,
"source": "bluray"
},
{ {
"name": "Not HDR10", "name": "Not HDR10",
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR(?!((10)?(\\+|P(lus)?)))", "pattern": "\\bHDR10(?!\\+|Plus)\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
}, },
{ {
"name": "Not HDR10+", "name": "Not HDR10+",
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR10(\\+|P(lus)?)", "pattern": "\\bHDR10.?(\\+|P(lus)?\\b)",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
}, },
@@ -4302,6 +4349,13 @@
"pattern": "\\bSDR\\b", "pattern": "\\bSDR\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
},
{
"name": "Not HDR",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "\\b(HDR)\\b"
} }
], ],
"tests": [ "tests": [
@@ -4442,7 +4496,7 @@
{ {
"name": "HDR10+", "name": "HDR10+",
"negate": false, "negate": false,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR10(\\+|P(lus)?)", "pattern": "\\bHDR10.?(\\+|P(lus)?\\b)",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
} }
@@ -4461,9 +4515,16 @@
{ {
"name": "HDR10", "name": "HDR10",
"negate": false, "negate": false,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR(?!((10)?(\\+|P(lus)?)))", "pattern": "\\bHDR10(?!\\+|Plus)\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
},
{
"name": "Not HDR10+",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "\\bHDR10.?(\\+|P(lus)?\\b)"
} }
], ],
"tests": [], "tests": [],
@@ -6188,38 +6249,45 @@
"conditions": [ "conditions": [
{ {
"name": "2160p", "name": "2160p",
"type": "resolution",
"required": true,
"negate": false, "negate": false,
"resolution": "2160p" "required": true,
"resolution": "2160p",
"type": "resolution"
}, },
{ {
"name": "WEB-DL", "name": "WEB-DL",
"type": "source",
"required": true,
"negate": false, "negate": false,
"source": "web_dl" "required": true,
"source": "web_dl",
"type": "source"
}, },
{ {
"name": "Not HDR10+", "name": "Not HDR10+",
"type": "release_title",
"required": true,
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR10(\\+|P(lus)?)" "pattern": "\\bHDR10.?(\\+|P(lus)?\\b)",
"required": true,
"type": "release_title"
}, },
{ {
"name": "Not Dolby Vision", "name": "Not Dolby Vision",
"type": "release_title",
"required": true,
"negate": true, "negate": true,
"pattern": "\\b(dv(?![ .](HLG|SDR))|dovi|dolby[ .]?vision)\\b" "pattern": "\\b(dv(?![ .](HLG|SDR))|dovi|dolby[ .]?vision)\\b",
"required": true,
"type": "release_title"
}, },
{ {
"name": "Not HDR10", "name": "Not HDR10",
"negate": true, "negate": true,
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR(?!((10)?(\\+|P(lus)?)))", "pattern": "\\bHDR10(?!\\+|Plus)\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
},
{
"name": "Not HDR",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "\\b(HDR)\\b"
} }
], ],
"tests": [], "tests": [],
@@ -7270,31 +7338,31 @@
"conditions": [ "conditions": [
{ {
"name": "2160p", "name": "2160p",
"type": "resolution",
"required": true,
"negate": false, "negate": false,
"resolution": "2160p" "required": true,
"resolution": "2160p",
"type": "resolution"
}, },
{ {
"name": "Blu-ray", "name": "Blu-ray",
"type": "source",
"required": true,
"negate": false, "negate": false,
"source": "bluray" "required": true,
"source": "bluray",
"type": "source"
}, },
{ {
"name": "Not DTS-HD MA", "name": "Not DTS-HD MA",
"type": "release_title",
"required": true,
"negate": true, "negate": true,
"pattern": "\\b(dts[-_. ]?(ma|hd([-_. ]?ma)?|xll))(\\b|\\d)" "pattern": "\\b(dts[-_. ]?(ma|hd([-_. ]?ma)?|xll))(\\b|\\d)",
"required": true,
"type": "release_title"
}, },
{ {
"name": "Not DTS-X", "name": "Not DTS-X",
"type": "release_title",
"required": true,
"negate": true, "negate": true,
"pattern": "\\b(dts[-_. :]?x)\\b(?!\\d)" "pattern": "\\b(dts[-_. :]?x)\\b(?!\\d)",
"required": true,
"type": "release_title"
}, },
{ {
"name": "Not FLAC", "name": "Not FLAC",
@@ -7325,9 +7393,9 @@
"type": "release_title" "type": "release_title"
}, },
{ {
"name": "Not TrueHD + Atmos", "name": "Not TrueHD",
"negate": true, "negate": true,
"pattern": "TrueHD + Atmos", "pattern": "True[ .-]?HD[ .-]?",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
}, },
@@ -7344,6 +7412,13 @@
"pattern": "\\bDD[P+]|\\b(e[-_. ]?ac3)\\b", "pattern": "\\bDD[P+]|\\b(e[-_. ]?ac3)\\b",
"required": true, "required": true,
"type": "release_title" "type": "release_title"
},
{
"name": "Not Missing Group",
"type": "release_title",
"required": true,
"negate": true,
"pattern": "(?<=^|[\\s.-])TRiToN|EPSiLON|NoGroup|PmP\\b"
} }
], ],
"tests": [], "tests": [],

File diff suppressed because one or more lines are too long

View File

@@ -213,6 +213,10 @@
"name": "h265 (Missing)", "name": "h265 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR",
"score": -9999
},
{ {
"name": "HDR10", "name": "HDR10",
"score": -9999 "score": -9999
@@ -221,6 +225,10 @@
"name": "HDR10 (Missing)", "name": "HDR10 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR10 (Missing) (1080p)",
"score": -9999
},
{ {
"name": "HDR10+", "name": "HDR10+",
"score": -9999 "score": -9999
@@ -478,11 +486,11 @@
"score": 10 "score": 10
}, },
{ {
"name": "HDR10", "name": "HDR",
"score": 10 "score": 10
}, },
{ {
"name": "HDR10 (Missing)", "name": "HDR10",
"score": 10 "score": 10
}, },
{ {
@@ -569,6 +577,10 @@
"name": "h265 (Missing)", "name": "h265 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "Non Retail HDR",
"score": -9999
},
{ {
"name": "Remux", "name": "Remux",
"score": -9999 "score": -9999
@@ -856,6 +868,10 @@
"name": "h265 (Missing)", "name": "h265 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR",
"score": -9999
},
{ {
"name": "HDR10", "name": "HDR10",
"score": -9999 "score": -9999
@@ -864,6 +880,10 @@
"name": "HDR10 (Missing)", "name": "HDR10 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR10 (Missing) (1080p)",
"score": -9999
},
{ {
"name": "HDR10+", "name": "HDR10+",
"score": -9999 "score": -9999
@@ -1127,6 +1147,10 @@
"name": "h265 (Missing)", "name": "h265 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR",
"score": -9999
},
{ {
"name": "HDR10", "name": "HDR10",
"score": -9999 "score": -9999
@@ -1381,6 +1405,10 @@
"name": "Blu-ray", "name": "Blu-ray",
"score": 10 "score": 10
}, },
{
"name": "HDR",
"score": 10
},
{ {
"name": "HDR10", "name": "HDR10",
"score": 10 "score": 10
@@ -1457,58 +1485,6 @@
"name": "Unknown Lossless Audio", "name": "Unknown Lossless Audio",
"score": 5 "score": 5
}, },
{
"name": "Amazon Prime",
"score": 0
},
{
"name": "Apple TV+",
"score": 0
},
{
"name": "Criterion Channel",
"score": 0
},
{
"name": "Disney+",
"score": 0
},
{
"name": "HBO Max",
"score": 0
},
{
"name": "Hulu",
"score": 0
},
{
"name": "iTunes",
"score": 0
},
{
"name": "Max",
"score": 0
},
{
"name": "Movies Anywhere",
"score": 0
},
{
"name": "Netflix",
"score": 0
},
{
"name": "Paramount+",
"score": 0
},
{
"name": "Peacock",
"score": 0
},
{
"name": "Roku",
"score": 0
},
{ {
"name": "SDR", "name": "SDR",
"score": -80 "score": -80
@@ -1866,6 +1842,10 @@
"name": "Blu-ray", "name": "Blu-ray",
"score": 10 "score": 10
}, },
{
"name": "HDR",
"score": 10
},
{ {
"name": "HDR10", "name": "HDR10",
"score": 10 "score": 10
@@ -1942,58 +1922,6 @@
"name": "Unknown Lossless Audio", "name": "Unknown Lossless Audio",
"score": 5 "score": 5
}, },
{
"name": "Amazon Prime",
"score": 0
},
{
"name": "Apple TV+",
"score": 0
},
{
"name": "Criterion Channel",
"score": 0
},
{
"name": "Disney+",
"score": 0
},
{
"name": "HBO Max",
"score": 0
},
{
"name": "Hulu",
"score": 0
},
{
"name": "iTunes",
"score": 0
},
{
"name": "Max",
"score": 0
},
{
"name": "Movies Anywhere",
"score": 0
},
{
"name": "Netflix",
"score": 0
},
{
"name": "Paramount+",
"score": 0
},
{
"name": "Peacock",
"score": 0
},
{
"name": "Roku",
"score": 0
},
{ {
"name": "SDR", "name": "SDR",
"score": -80 "score": -80
@@ -2281,6 +2209,10 @@
"name": "Atmos (Missing)", "name": "Atmos (Missing)",
"score": 10 "score": 10
}, },
{
"name": "HDR",
"score": 10
},
{ {
"name": "HDR10", "name": "HDR10",
"score": 10 "score": 10
@@ -2365,6 +2297,10 @@
"name": "h265 (Missing)", "name": "h265 (Missing)",
"score": -9999 "score": -9999
}, },
{
"name": "HDR10 (Missing) (1080p)",
"score": -9999
},
{ {
"name": "Non Retail HDR", "name": "Non Retail HDR",
"score": -9999 "score": -9999

View File

@@ -2890,6 +2890,124 @@
"tests": [], "tests": [],
"_id": "HDMaNiAcS" "_id": "HDMaNiAcS"
}, },
{
"name": "HDR",
"pattern": "\\b(HDR)\\b",
"description": "This regex matches a `HDR` generalisation. This can be HDR10, HDR10+, etc. ",
"tags": [
"Enhancement",
"Colour Grade",
"HDR"
],
"tests": [
{
"expected": true,
"id": 2,
"input": "HDR+",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": {
"end": 3,
"start": 0
},
"matchedContent": "HDR",
"matchedGroups": [
"HDR"
],
"passes": true
},
{
"expected": false,
"id": 3,
"input": "HDR10",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": false,
"id": 4,
"input": "HDR10+",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": false,
"id": 8,
"input": "HDR10",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": true,
"id": 9,
"input": "Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": {
"end": 55,
"start": 52
},
"matchedContent": "HDR",
"matchedGroups": [
"HDR"
],
"passes": true
},
{
"expected": true,
"id": 10,
"input": "Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": {
"end": 61,
"start": 58
},
"matchedContent": "HDR",
"matchedGroups": [
"HDR"
],
"passes": true
},
{
"expected": false,
"id": 11,
"input": "Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi HDR10 HEVC TrueHD 7.1 Atmos-ANKO",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": false,
"id": 12,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": false,
"id": 13,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10P TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2025-04-03T04:14:14.836165",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
}
],
"_id": "HDR"
},
{ {
"name": "HDR10 (Missing Groups)", "name": "HDR10 (Missing Groups)",
"pattern": "\\b(FraMeSToR|HQMUX|SiCFoI|playBD|RYU|ElNeekster|CiNEPHiLES|3L|EDV|Kenobi|TRiToN|HDH|NTb|Flights|TekMUX|HDS|Aisha(@RFX)?|STRiKES|c0kE|mimic)\\b", "pattern": "\\b(FraMeSToR|HQMUX|SiCFoI|playBD|RYU|ElNeekster|CiNEPHiLES|3L|EDV|Kenobi|TRiToN|HDH|NTb|Flights|TekMUX|HDS|Aisha(@RFX)?|STRiKES|c0kE|mimic)\\b",
@@ -2952,8 +3070,8 @@
}, },
{ {
"name": "HDR10+", "name": "HDR10+",
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR10(\\+|P(lus)?)", "pattern": "\\bHDR10.?(\\+|P(lus)?\\b)",
"description": "This regex matches \"HDR10\" when followed by either a plus sign (\"+\"), \"P\", or \"Plus\", but only in strings that don't contain \"HLG\", \"PQ\", or \"SDR\" (when followed by either a word boundary or digit) anywhere in the text. In other words, it finds references to HDR10+ or HDR10Plus variants while excluding strings that mention other HDR-related technologies.", "description": "This regex matches `HDR10` when followed by either a plus sign `+`, `P`, or `Plus`",
"tags": [ "tags": [
"Enhancement", "Enhancement",
"Colour Grade", "Colour Grade",
@@ -2964,7 +3082,7 @@
"expected": false, "expected": false,
"id": 1, "id": 1,
"input": "HDR", "input": "HDR",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -2974,7 +3092,7 @@
"expected": false, "expected": false,
"id": 2, "id": 2,
"input": "HDR+", "input": "HDR+",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -2984,7 +3102,7 @@
"expected": false, "expected": false,
"id": 3, "id": 3,
"input": "HDR10", "input": "HDR10",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -2994,15 +3112,13 @@
"expected": true, "expected": true,
"id": 4, "id": 4,
"input": "HDR10+", "input": "HDR10+",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": { "matchSpan": {
"end": 6, "end": 6,
"start": 0 "start": 0
}, },
"matchedContent": "HDR10+", "matchedContent": "HDR10+",
"matchedGroups": [ "matchedGroups": [
null,
null,
"+", "+",
null null
], ],
@@ -3012,7 +3128,7 @@
"expected": false, "expected": false,
"id": 5, "id": 5,
"input": "HLG HDR", "input": "HLG HDR",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3022,7 +3138,7 @@
"expected": false, "expected": false,
"id": 6, "id": 6,
"input": "SDR HDR", "input": "SDR HDR",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3032,7 +3148,7 @@
"expected": false, "expected": false,
"id": 7, "id": 7,
"input": "PQ HDR", "input": "PQ HDR",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3042,15 +3158,13 @@
"expected": true, "expected": true,
"id": 8, "id": 8,
"input": "HDR10P", "input": "HDR10P",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": { "matchSpan": {
"end": 6, "end": 6,
"start": 0 "start": 0
}, },
"matchedContent": "HDR10P", "matchedContent": "HDR10P",
"matchedGroups": [ "matchedGroups": [
null,
null,
"P", "P",
null null
], ],
@@ -3060,15 +3174,13 @@
"expected": true, "expected": true,
"id": 9, "id": 9,
"input": "HDR10Plus", "input": "HDR10Plus",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": { "matchSpan": {
"end": 9, "end": 9,
"start": 0 "start": 0
}, },
"matchedContent": "HDR10Plus", "matchedContent": "HDR10Plus",
"matchedGroups": [ "matchedGroups": [
null,
null,
"Plus", "Plus",
"lus" "lus"
], ],
@@ -3078,15 +3190,13 @@
"expected": true, "expected": true,
"id": 10, "id": 10,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD Atmos 7.1 English-WiLDCAT", "input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": { "matchSpan": {
"end": 68, "end": 68,
"start": 62 "start": 62
}, },
"matchedContent": "HDR10+", "matchedContent": "HDR10+",
"matchedGroups": [ "matchedGroups": [
null,
null,
"+", "+",
null null
], ],
@@ -3096,15 +3206,13 @@
"expected": true, "expected": true,
"id": 11, "id": 11,
"input": "La Maison S01 REPACK 2160p ATVP WEB-DL Dual-Audio DD+ 5.1 Atmos DV HDR10+ H.265-Kitsune", "input": "La Maison S01 REPACK 2160p ATVP WEB-DL Dual-Audio DD+ 5.1 Atmos DV HDR10+ H.265-Kitsune",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": { "matchSpan": {
"end": 73, "end": 73,
"start": 67 "start": 67
}, },
"matchedContent": "HDR10+", "matchedContent": "HDR10+",
"matchedGroups": [ "matchedGroups": [
null,
null,
"+", "+",
null null
], ],
@@ -3114,50 +3222,46 @@
"expected": false, "expected": false,
"id": 12, "id": 12,
"input": "Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi HDR10 HEVC TrueHD 7.1 Atmos-ANKO", "input": "Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi HDR10 HEVC TrueHD 7.1 Atmos-ANKO",
"lastRun": "2024-12-13T09:52:40.529508", "lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
"passes": true "passes": true
},
{
"expected": true,
"id": 13,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10 Plus TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2025-04-05T09:25:21.372205",
"matchSpan": {
"end": 72,
"start": 62
},
"matchedContent": "HDR10 Plus",
"matchedGroups": [
"Plus",
"lus"
],
"passes": true
} }
], ],
"_id": "HDR10+" "_id": "HDR10+"
}, },
{ {
"name": "HDR10", "name": "HDR10",
"pattern": "(?<=^(?!.*\\b(HLG|PQ|SDR)(\\b|\\d)).*?)HDR(?!((10)?(\\+|P(lus)?)))", "pattern": "\\bHDR10(?!\\+|Plus)\\b",
"description": "This regex matches \"HDR\" only in strings that do not contain \"HLG\", \"PQ\", or \"SDR\" (when followed by either a word boundary or digit) anywhere in the text, and where the \"HDR\" itself is not followed by any HDR format specifiers like \"10+\", \"+\", \"10P\", \"P\", \"10Plus\", or \"Plus\". It ensures we're matching standalone \"HDR\" references that aren't tied to any specific HDR format or appearing in strings that mention other common HDR-related technologies.", "description": "This regex matches `HDR10` only when it *is not* followed by any HDR format specifiers like `+`, or `Plus`. ",
"tags": [ "tags": [
"Enhancement", "Enhancement",
"Colour Grade", "Colour Grade",
"HDR" "HDR"
], ],
"tests": [ "tests": [
{
"expected": true,
"id": 1,
"input": "HDR",
"lastRun": "2024-12-13T09:52:16.317820",
"matchSpan": {
"end": 3,
"start": 0
},
"matchedContent": "HDR",
"matchedGroups": [
null,
null,
null,
null,
null,
null
],
"passes": true
},
{ {
"expected": false, "expected": false,
"id": 2, "id": 2,
"input": "HDR+", "input": "HDR+",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3167,27 +3271,20 @@
"expected": true, "expected": true,
"id": 3, "id": 3,
"input": "HDR10", "input": "HDR10",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": { "matchSpan": {
"end": 3, "end": 5,
"start": 0 "start": 0
}, },
"matchedContent": "HDR", "matchedContent": "HDR10",
"matchedGroups": [ "matchedGroups": [],
null,
null,
null,
null,
null,
null
],
"passes": true "passes": true
}, },
{ {
"expected": false, "expected": false,
"id": 4, "id": 4,
"input": "HDR10+", "input": "HDR10+",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3197,7 +3294,7 @@
"expected": false, "expected": false,
"id": 5, "id": 5,
"input": "HLG HDR", "input": "HLG HDR",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3207,7 +3304,7 @@
"expected": false, "expected": false,
"id": 6, "id": 6,
"input": "SDR HDR", "input": "SDR HDR",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3217,7 +3314,7 @@
"expected": false, "expected": false,
"id": 7, "id": 7,
"input": "PQ HDR", "input": "PQ HDR",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],
@@ -3227,87 +3324,63 @@
"expected": true, "expected": true,
"id": 8, "id": 8,
"input": "HDR10", "input": "HDR10",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": { "matchSpan": {
"end": 3, "end": 5,
"start": 0 "start": 0
}, },
"matchedContent": "HDR", "matchedContent": "HDR10",
"matchedGroups": [ "matchedGroups": [],
null,
null,
null,
null,
null,
null
],
"passes": true "passes": true
}, },
{ {
"expected": true, "expected": false,
"id": 9, "id": 9,
"input": "Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR", "input": "Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": { "matchSpan": null,
"end": 55, "matchedContent": null,
"start": 52 "matchedGroups": [],
},
"matchedContent": "HDR",
"matchedGroups": [
null,
null,
null,
null,
null,
null
],
"passes": true "passes": true
}, },
{ {
"expected": true, "expected": false,
"id": 10, "id": 10,
"input": "Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR", "input": "Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos 7.1 English-FraMeSToR",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": { "matchSpan": null,
"end": 61, "matchedContent": null,
"start": 58 "matchedGroups": [],
},
"matchedContent": "HDR",
"matchedGroups": [
null,
null,
null,
null,
null,
null
],
"passes": true "passes": true
}, },
{ {
"expected": true, "expected": true,
"id": 11, "id": 11,
"input": "Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi HDR10 HEVC TrueHD 7.1 Atmos-ANKO", "input": "Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi HDR10 HEVC TrueHD 7.1 Atmos-ANKO",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": { "matchSpan": {
"end": 80, "end": 82,
"start": 77 "start": 77
}, },
"matchedContent": "HDR", "matchedContent": "HDR10",
"matchedGroups": [ "matchedGroups": [],
null,
null,
null,
null,
null,
null
],
"passes": true "passes": true
}, },
{ {
"expected": false, "expected": false,
"id": 12, "id": 12,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD Atmos 7.1 English-WiLDCAT", "input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2024-12-13T09:52:16.317820", "lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null,
"matchedContent": null,
"matchedGroups": [],
"passes": true
},
{
"expected": false,
"id": 13,
"input": "Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10P TrueHD Atmos 7.1 English-WiLDCAT",
"lastRun": "2025-04-02T20:01:38.732592",
"matchSpan": null, "matchSpan": null,
"matchedContent": null, "matchedContent": null,
"matchedGroups": [], "matchedGroups": [],

View File

@@ -1,5 +1,5 @@
{ {
"updated_at": "2025-03-18T21:31:07.028502+00:00", "updated_at": "2025-04-04T22:58:47.783839+00:00",
"folders": [ "folders": [
"custom_formats", "custom_formats",
"profiles", "profiles",

File diff suppressed because one or more lines are too long

22
custom_formats/HDR.yml Normal file
View File

@@ -0,0 +1,22 @@
name: HDR
description: Matches the 'HDR' Regex Pattern
tags:
- Colour Grade
- HDR
conditions:
- name: HDR
negate: false
pattern: HDR
required: true
type: release_title
- name: Not HDR10
type: release_title
required: true
negate: true
pattern: HDR10
- name: Not HDR10+
type: release_title
required: true
negate: true
pattern: HDR10+
tests: []

View File

@@ -4,6 +4,11 @@ tags:
- Colour Grade - Colour Grade
- HDR - HDR
conditions: conditions:
- name: Blu-ray
type: source
required: true
negate: false
source: bluray
- name: 1080p - name: 1080p
negate: false negate: false
required: true required: true
@@ -34,4 +39,9 @@ conditions:
pattern: HDR10 pattern: HDR10
required: true required: true
type: release_title type: release_title
- name: Not HDR
negate: true
pattern: HDR
required: true
type: release_title
tests: [] tests: []

View File

@@ -1,19 +1,20 @@
name: HDR10 (Missing) name: HDR10 (Missing)
description: Attempts to match HDR10 to groups that mislabel their releases description: Attempts to match HDR10 to groups that mislabel their releases. *This
does not work properly in sonarr.*
tags: tags:
- Colour Grade - Colour Grade
- HDR - HDR
conditions: conditions:
- name: Blu-ray
negate: false
required: true
source: bluray
type: source
- name: 2160p - name: 2160p
negate: false negate: false
required: true required: true
resolution: 2160p resolution: 2160p
type: resolution type: resolution
- name: Bluray
negate: false
required: true
source: bluray
type: source
- name: Not HDR10 - name: Not HDR10
negate: true negate: true
pattern: HDR10 pattern: HDR10
@@ -29,6 +30,11 @@ conditions:
pattern: SDR pattern: SDR
required: true required: true
type: release_title type: release_title
- name: Not HDR
type: release_title
required: true
negate: true
pattern: HDR
tests: tests:
- conditionResults: - conditionResults:
- matches: false - matches: false

View File

@@ -9,4 +9,9 @@ conditions:
pattern: HDR10 pattern: HDR10
required: true required: true
type: release_title type: release_title
- name: Not HDR10+
type: release_title
required: true
negate: true
pattern: HDR10+
tests: [] tests: []

View File

@@ -5,28 +5,33 @@ tags:
- HDR - HDR
conditions: conditions:
- name: 2160p - name: 2160p
type: resolution
required: true
negate: false negate: false
required: true
resolution: 2160p resolution: 2160p
type: resolution
- name: WEB-DL - name: WEB-DL
type: source
required: true
negate: false negate: false
source: web_dl
- name: Not HDR10+
type: release_title
required: true required: true
source: web_dl
type: source
- name: Not HDR10+
negate: true negate: true
pattern: HDR10+ pattern: HDR10+
- name: Not Dolby Vision
type: release_title
required: true required: true
type: release_title
- name: Not Dolby Vision
negate: true negate: true
pattern: Dolby Vision pattern: Dolby Vision
required: true
type: release_title
- name: Not HDR10 - name: Not HDR10
negate: true negate: true
pattern: HDR10 pattern: HDR10
required: true required: true
type: release_title type: release_title
- name: Not HDR
type: release_title
required: true
negate: true
pattern: HDR
tests: [] tests: []

View File

@@ -45,9 +45,9 @@ conditions:
pattern: DTS pattern: DTS
required: true required: true
type: release_title type: release_title
- name: Not TrueHD + Atmos - name: Not TrueHD
negate: true negate: true
pattern: TrueHD + Atmos pattern: TrueHD
required: true required: true
type: release_title type: release_title
- name: Not Dolby Digital - name: Not Dolby Digital
@@ -60,4 +60,9 @@ conditions:
pattern: Dolby Digital + pattern: Dolby Digital +
required: true required: true
type: release_title type: release_title
- name: Not Missing Group
type: release_title
required: true
negate: true
pattern: TrueHD (Missing Groups)
tests: [] tests: []

View File

@@ -0,0 +1,71 @@
---
title: Profilarr is in Beta 🚀
slug: profilarr_is_in_beta
author: santiagosayshey
created: 2024-1-4
tags:
- devlog
- profilarr
- database
- housekeeping
---
hey @everyone, long awaited dev log :)
## What's New? 👈
Many people are already aware, but I thought I should formally announce here on discord that **Profilarr is out in beta!** I've been working on it since around July last year and put in a massive effort over the Christmas break to get it working. Even though it's not nearly as stable as I would like it to be, it implements the core architecture I first talked about [here](https://dictionarry.dev/devlog/architecture_overhaul). There is still so (x10) much to be done in terms of bugs & polish & new features, but I'm happy sharing it as is. Hopefully you can all find some benefit in using it too :)
You can read our setup guide [here](https://dictionarry.dev/wiki/profilarr-setup). It's available as a community app on Unraid, and as a Docker image for both ARM (Apple Silicon, Raspberry Pi) and x86.
### Database 💾
Along with Profilarr, the Dictionarry database has also got an overhaul. We introduced the new encode efficiency index, 2160p Quality and Balanced profiles as well as other small improvements like editions, repacks and freeleech. Here are some scattered thoughts that you might also be interested in:
- @Seraphys has been working on a scoring refactor that introduces 720p fallback, fixes streaming service names, and groups similar releases together better. It's a huge change that I haven't been able to fully test myself, but I've merged it into a separate branch because I know people are pretty antsy to start testing themselves. Anyone is free to give it a try, you just have to switch to the `scoring-refactor` branch in Profilarr. Please direct any issues / improvements to the database's [Issue Tracker](https://github.com/Dictionarry-Hub/database).
- I'm personally not too happy with the state of the current database - poorly named files and renames/imports weren't taken into enough consideration and it's causing way too many download loops. I'm still trying to figure out exactly how I want to tackle these problems but I just want people to know that it is on my mind and it will be improved in future.
### Tweaks 🔧
I talked about tweaks in detail [here](https://dictionarry.dev/devlog/profile_tweaks) and had actually implemented some of them into Profilarr, but decided to remove them at the last minute. On paper, it's an interesting system. In practice, it's confusing and really hard to program for. It's meant to be a database agnostic feature, but was hardcoded into Profilarr's profile system. I'm going to keep this feature on the roadmap as a maybe for now, but I'm going to have to completely rethink how to implement it from the ground up.
## What's Next? 👉
Here's a (non comprehensive) list of what you can expect me to work on now that Profilarr is in beta.
### Profilarr
- Media Management Sync - Databases will be able to implement their own media management settings (quality sliders, rename templates, delay profiles, etc) and use profilarr to sync them
- Multi Database Support - Refactoring the database to use a dependency system that allows databases to act as layers and depend on layers above them. This lets profile databases exist independently of format databases and that independently of regex databases. This way, you'll be able to connect to multiple at once and build off them as you please (or just link a complete one).
- Everything on the issue tracker: https://github.com/Dictionarry-Hub/profilarr/issues
### Database
- Efficiency Profiles - 1080p Efficient (10%), 1080p Efficient (22.5%) and 2160p Efficient will use the [Encode Efficiency Index](https://dictionarry.dev/wiki/EEi) to prioritise HEVC releases.
- Anime Support - Likely just quality profiles, but I also want to explore alternative options that better support dynamic needs. We likely want to make release group tiers, but also figure out a way to prioritise releases from newer & better sources. I'm not personally into that much anime, so I'm going to need as much input as I can get from you guys ~ please start those conversations if you want something to be considered (some have already asked, I'll get back to you when I can!)
- Better Streaming Service Grab Logic - This is already partially improved in Seraphys' refactor, but I would also like to add support for more streaming services and revise the interaction between release groups and sources.
## Housekeeping 🧹
We've had an influx of new members over the past couple weeks, so I'd like to welcome you all to our discord 👋 Come say hey in #general if you haven't already.
### Moderation, Wiki, Support 🤝
- I'd like to introduce @Seraphys as our first moderator and designated detail devotee 🤣 Big claps all around.
- The rules, faq, links (among others) are very out of date and will be getting a refresh soon, stay tuned for those updates.
- I will likely be closing the support post channels soon and replacing them with a single, simpler text channel and removing the bot integration. For any basic support, please message us over there, but for any major issues please redirect your queries to our issue trackers on GitHub from now on. [here](https://github.com/Dictionarry-Hub/profilarr/issues) and [here](https://github.com/Dictionarry-Hub/database)
### Donations 💸
If you've donated and would like a special 'Donor' role badge here on discord, please shoot me a PM.
### Taking a Break ⏸️
I want to let everyone know that I'll be taking a break for a little while ~ I spent the majority of the past 4-5 months working on Profilarr and I'm quite burnt out. I'm trying very hard to balance full time study with development, but they unfortunately just don't mesh the way I hoped they would. I can't not work at 100% for either, so something had to give and for the past month or so, that's been my sleep and sanity. I unfortunately can't delay my semester (as much as I want to), so I'm going to have to dial down the time I spend on Dictionarry/Profilarr. I think I'm going to do a proper break (no dev at all) for a couple weeks at least ~ until my easter break, then I'll slowly pick up speed again. Couple of specific points I want to mention here:
- I'm going to stop giving ETAs for things. They always take longer than I expect them to, which puts pressure on me and probably disappoints you guys when something inevitably doesn't happen on time. The defacto answer to any ETA questions from now on will be "when it's ready".
- I've been pretty scatterbrained lately, so if someone is waiting on a message from me just know that I haven't forgotten about you and will get back when I have the time. If it's been a while, shoot me a PM or something as a reminder ~ I'll still be active on discord during my break.
### Thank You 🙏
This project has grown tremendously in scope in the last year and that's not possible without a community, so big thanks from me to all of you. I'm still figuring all of this out as I go along so it's kind of unbelievable how many people are using a tool that once only existed in my head.
Cheers, everyone.

View File

@@ -119,10 +119,14 @@ custom_formats:
score: -9999 score: -9999
- name: h265 (Missing) - name: h265 (Missing)
score: -9999 score: -9999
- name: HDR
score: -9999
- name: HDR10 - name: HDR10
score: -9999 score: -9999
- name: HDR10 (Missing) - name: HDR10 (Missing)
score: -9999 score: -9999
- name: HDR10 (Missing) (1080p)
score: -9999
- name: HDR10+ - name: HDR10+
score: -9999 score: -9999
- name: Remux - name: Remux

View File

@@ -113,9 +113,11 @@ custom_formats:
score: 10 score: 10
- name: Atmos (Missing) - name: Atmos (Missing)
score: 10 score: 10
- name: HDR
score: 10
- name: HDR10 - name: HDR10
score: 10 score: 10
- name: HDR10 (Missing) - name: HDR10
score: 10 score: 10
- name: HDR10 (Missing) (1080p) - name: HDR10 (Missing) (1080p)
score: 10 score: 10
@@ -151,6 +153,8 @@ custom_formats:
score: -9999 score: -9999
- name: h265 (Missing) - name: h265 (Missing)
score: -9999 score: -9999
- name: Non Retail HDR
score: -9999
- name: Remux - name: Remux
score: -9999 score: -9999
- name: Unwanted x265 Groups - name: Unwanted x265 Groups

View File

@@ -129,10 +129,14 @@ custom_formats:
score: -9999 score: -9999
- name: h265 (Missing) - name: h265 (Missing)
score: -9999 score: -9999
- name: HDR
score: -9999
- name: HDR10 - name: HDR10
score: -9999 score: -9999
- name: HDR10 (Missing) - name: HDR10 (Missing)
score: -9999 score: -9999
- name: HDR10 (Missing) (1080p)
score: -9999
- name: HDR10+ - name: HDR10+
score: -9999 score: -9999
- name: Remux - name: Remux

View File

@@ -102,6 +102,8 @@ custom_formats:
score: -9999 score: -9999
- name: h265 (Missing) - name: h265 (Missing)
score: -9999 score: -9999
- name: HDR
score: -9999
- name: HDR10 - name: HDR10
score: -9999 score: -9999
- name: HDR10 (Missing) - name: HDR10 (Missing)

View File

@@ -106,6 +106,8 @@ custom_formats:
score: 20 score: 20
- name: DTS-X - name: DTS-X
score: 15 score: 15
- name: HDR
score: 10
- name: HDR10 - name: HDR10
score: 10 score: 10
- name: HDR10 (Missing) - name: HDR10 (Missing)

View File

@@ -121,6 +121,8 @@ custom_formats:
score: 20 score: 20
- name: DTS-X - name: DTS-X
score: 15 score: 15
- name: HDR
score: 10
- name: HDR10 - name: HDR10
score: 10 score: 10
- name: HDR10 (Missing) - name: HDR10 (Missing)

View File

@@ -84,6 +84,8 @@ custom_formats:
score: 10 score: 10
- name: Atmos (Missing) - name: Atmos (Missing)
score: 10 score: 10
- name: HDR
score: 10
- name: HDR10 - name: HDR10
score: 10 score: 10
- name: HDR10 (Missing) - name: HDR10 (Missing)
@@ -116,6 +118,8 @@ custom_formats:
score: -9999 score: -9999
- name: h265 (Missing) - name: h265 (Missing)
score: -9999 score: -9999
- name: HDR10 (Missing) (1080p)
score: -9999
- name: Non Retail HDR - name: Non Retail HDR
score: -9999 score: -9999
- name: UHDBits - name: UHDBits

95
regex_patterns/HDR.yml Normal file
View File

@@ -0,0 +1,95 @@
name: HDR
pattern: \b(HDR)\b
description: 'This regex matches a `HDR` generalisation. This can be HDR10, HDR10+,
etc. '
tags:
- Enhancement
- Colour Grade
- HDR
tests:
- expected: true
id: 2
input: HDR+
lastRun: '2025-04-03T04:14:14.836165'
matchSpan:
end: 3
start: 0
matchedContent: HDR
matchedGroups:
- HDR
passes: true
- expected: false
id: 3
input: HDR10
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: false
id: 4
input: HDR10+
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: false
id: 8
input: HDR10
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: true
id: 9
input: Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1
English-FraMeSToR
lastRun: '2025-04-03T04:14:14.836165'
matchSpan:
end: 55
start: 52
matchedContent: HDR
matchedGroups:
- HDR
passes: true
- expected: true
id: 10
input: Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos
7.1 English-FraMeSToR
lastRun: '2025-04-03T04:14:14.836165'
matchSpan:
end: 61
start: 58
matchedContent: HDR
matchedGroups:
- HDR
passes: true
- expected: false
id: 11
input: Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi
HDR10 HEVC TrueHD 7.1 Atmos-ANKO
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: false
id: 12
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD
Atmos 7.1 English-WiLDCAT
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: false
id: 13
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10P TrueHD
Atmos 7.1 English-WiLDCAT
lastRun: '2025-04-03T04:14:14.836165'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true

View File

@@ -1,10 +1,7 @@
name: HDR10+ name: HDR10+
pattern: (?<=^(?!.*\b(HLG|PQ|SDR)(\b|\d)).*?)HDR10(\+|P(lus)?) pattern: \bHDR10.?(\+|P(lus)?\b)
description: This regex matches "HDR10" when followed by either a plus sign ("+"), description: This regex matches `HDR10` when followed by either a plus sign `+`, `P`,
"P", or "Plus", but only in strings that don't contain "HLG", "PQ", or "SDR" (when or `Plus`
followed by either a word boundary or digit) anywhere in the text. In other words,
it finds references to HDR10+ or HDR10Plus variants while excluding strings that
mention other HDR-related technologies.
tags: tags:
- Enhancement - Enhancement
- Colour Grade - Colour Grade
@@ -13,7 +10,7 @@ tests:
- expected: false - expected: false
id: 1 id: 1
input: HDR input: HDR
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -21,7 +18,7 @@ tests:
- expected: false - expected: false
id: 2 id: 2
input: HDR+ input: HDR+
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -29,7 +26,7 @@ tests:
- expected: false - expected: false
id: 3 id: 3
input: HDR10 input: HDR10
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -37,21 +34,19 @@ tests:
- expected: true - expected: true
id: 4 id: 4
input: HDR10+ input: HDR10+
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: matchSpan:
end: 6 end: 6
start: 0 start: 0
matchedContent: HDR10+ matchedContent: HDR10+
matchedGroups: matchedGroups:
- null
- null
- + - +
- null - null
passes: true passes: true
- expected: false - expected: false
id: 5 id: 5
input: HLG HDR input: HLG HDR
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -59,7 +54,7 @@ tests:
- expected: false - expected: false
id: 6 id: 6
input: SDR HDR input: SDR HDR
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -67,7 +62,7 @@ tests:
- expected: false - expected: false
id: 7 id: 7
input: PQ HDR input: PQ HDR
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -75,28 +70,24 @@ tests:
- expected: true - expected: true
id: 8 id: 8
input: HDR10P input: HDR10P
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: matchSpan:
end: 6 end: 6
start: 0 start: 0
matchedContent: HDR10P matchedContent: HDR10P
matchedGroups: matchedGroups:
- null
- null
- P - P
- null - null
passes: true passes: true
- expected: true - expected: true
id: 9 id: 9
input: HDR10Plus input: HDR10Plus
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: matchSpan:
end: 9 end: 9
start: 0 start: 0
matchedContent: HDR10Plus matchedContent: HDR10Plus
matchedGroups: matchedGroups:
- null
- null
- Plus - Plus
- lus - lus
passes: true passes: true
@@ -104,14 +95,12 @@ tests:
id: 10 id: 10
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD
Atmos 7.1 English-WiLDCAT Atmos 7.1 English-WiLDCAT
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: matchSpan:
end: 68 end: 68
start: 62 start: 62
matchedContent: HDR10+ matchedContent: HDR10+
matchedGroups: matchedGroups:
- null
- null
- + - +
- null - null
passes: true passes: true
@@ -119,14 +108,12 @@ tests:
id: 11 id: 11
input: La Maison S01 REPACK 2160p ATVP WEB-DL Dual-Audio DD+ 5.1 Atmos DV HDR10+ input: La Maison S01 REPACK 2160p ATVP WEB-DL Dual-Audio DD+ 5.1 Atmos DV HDR10+
H.265-Kitsune H.265-Kitsune
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: matchSpan:
end: 73 end: 73
start: 67 start: 67
matchedContent: HDR10+ matchedContent: HDR10+
matchedGroups: matchedGroups:
- null
- null
- + - +
- null - null
passes: true passes: true
@@ -134,8 +121,21 @@ tests:
id: 12 id: 12
input: Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi input: Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi
HDR10 HEVC TrueHD 7.1 Atmos-ANKO HDR10 HEVC TrueHD 7.1 Atmos-ANKO
lastRun: '2024-12-13T09:52:40.529508' lastRun: '2025-04-05T09:25:21.372205'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
passes: true passes: true
- expected: true
id: 13
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10 Plus
TrueHD Atmos 7.1 English-WiLDCAT
lastRun: '2025-04-05T09:25:21.372205'
matchSpan:
end: 72
start: 62
matchedContent: HDR10 Plus
matchedGroups:
- Plus
- lus
passes: true

View File

@@ -1,36 +1,16 @@
name: HDR10 name: HDR10
pattern: (?<=^(?!.*\b(HLG|PQ|SDR)(\b|\d)).*?)HDR(?!((10)?(\+|P(lus)?))) pattern: \bHDR10(?!\+|Plus)\b
description: This regex matches "HDR" only in strings that do not contain "HLG", "PQ", description: 'This regex matches `HDR10` only when it *is not* followed by any HDR
or "SDR" (when followed by either a word boundary or digit) anywhere in the text, format specifiers like `+`, or `Plus`. '
and where the "HDR" itself is not followed by any HDR format specifiers like "10+",
"+", "10P", "P", "10Plus", or "Plus". It ensures we're matching standalone "HDR"
references that aren't tied to any specific HDR format or appearing in strings that
mention other common HDR-related technologies.
tags: tags:
- Enhancement - Enhancement
- Colour Grade - Colour Grade
- HDR - HDR
tests: tests:
- expected: true
id: 1
input: HDR
lastRun: '2024-12-13T09:52:16.317820'
matchSpan:
end: 3
start: 0
matchedContent: HDR
matchedGroups:
- null
- null
- null
- null
- null
- null
passes: true
- expected: false - expected: false
id: 2 id: 2
input: HDR+ input: HDR+
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -38,23 +18,17 @@ tests:
- expected: true - expected: true
id: 3 id: 3
input: HDR10 input: HDR10
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: matchSpan:
end: 3 end: 5
start: 0 start: 0
matchedContent: HDR matchedContent: HDR10
matchedGroups: matchedGroups: []
- null
- null
- null
- null
- null
- null
passes: true passes: true
- expected: false - expected: false
id: 4 id: 4
input: HDR10+ input: HDR10+
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -62,7 +36,7 @@ tests:
- expected: false - expected: false
id: 5 id: 5
input: HLG HDR input: HLG HDR
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -70,7 +44,7 @@ tests:
- expected: false - expected: false
id: 6 id: 6
input: SDR HDR input: SDR HDR
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -78,7 +52,7 @@ tests:
- expected: false - expected: false
id: 7 id: 7
input: PQ HDR input: PQ HDR
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []
@@ -86,75 +60,56 @@ tests:
- expected: true - expected: true
id: 8 id: 8
input: HDR10 input: HDR10
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: matchSpan:
end: 3 end: 5
start: 0 start: 0
matchedContent: HDR matchedContent: HDR10
matchedGroups: matchedGroups: []
- null
- null
- null
- null
- null
- null
passes: true passes: true
- expected: true - expected: false
id: 9 id: 9
input: Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 input: Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1
English-FraMeSToR English-FraMeSToR
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: matchSpan: null
end: 55 matchedContent: null
start: 52 matchedGroups: []
matchedContent: HDR
matchedGroups:
- null
- null
- null
- null
- null
- null
passes: true passes: true
- expected: true - expected: false
id: 10 id: 10
input: Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos input: Game of Thrones (2011) S06 2160p UHD BluRay REMUX HEVC DV HDR TrueHD Atmos
7.1 English-FraMeSToR 7.1 English-FraMeSToR
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: matchSpan: null
end: 61 matchedContent: null
start: 58 matchedGroups: []
matchedContent: HDR
matchedGroups:
- null
- null
- null
- null
- null
- null
passes: true passes: true
- expected: true - expected: true
id: 11 id: 11
input: Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi input: Liu lang di qiu 2 AKA The Wandering Earth II 2023 2160p CHN UHD Blu-ray DoVi
HDR10 HEVC TrueHD 7.1 Atmos-ANKO HDR10 HEVC TrueHD 7.1 Atmos-ANKO
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: matchSpan:
end: 80 end: 82
start: 77 start: 77
matchedContent: HDR matchedContent: HDR10
matchedGroups: matchedGroups: []
- null
- null
- null
- null
- null
- null
passes: true passes: true
- expected: false - expected: false
id: 12 id: 12
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10+ TrueHD
Atmos 7.1 English-WiLDCAT Atmos 7.1 English-WiLDCAT
lastRun: '2024-12-13T09:52:16.317820' lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null
matchedContent: null
matchedGroups: []
passes: true
- expected: false
id: 13
input: Schindler's List (1993) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR10P TrueHD
Atmos 7.1 English-WiLDCAT
lastRun: '2025-04-02T20:01:38.732592'
matchSpan: null matchSpan: null
matchedContent: null matchedContent: null
matchedGroups: [] matchedGroups: []