From a900cdeea62cabb60f6dcf1667cabf5093abd1ed Mon Sep 17 00:00:00 2001 From: santiagosayshey Date: Fri, 13 Dec 2024 10:52:10 +1050 Subject: [PATCH] feat(Regex + Format): Add Patterns and Formats for HDR types --- .../Dolby Vision (Without Fallback).yml | 12 ++ custom_formats/Dolby Vision.yml | 12 ++ custom_formats/HDR10 (Missing).yml | 76 +++++++++ custom_formats/HDR10+.yml | 12 ++ custom_formats/HDR10.yml | 12 ++ .../Dolby Vision (Without Fallback).yml | 52 ++++++ regex_patterns/Dolby Vision.yml | 112 ++++++++++++ regex_patterns/HDR10 (Missing Groups).yml | 7 + regex_patterns/HDR10+.yml | 141 +++++++++++++++ regex_patterns/HDR10.yml | 161 ++++++++++++++++++ 10 files changed, 597 insertions(+) create mode 100644 custom_formats/Dolby Vision (Without Fallback).yml create mode 100644 custom_formats/Dolby Vision.yml create mode 100644 custom_formats/HDR10 (Missing).yml create mode 100644 custom_formats/HDR10+.yml create mode 100644 custom_formats/HDR10.yml create mode 100644 regex_patterns/Dolby Vision (Without Fallback).yml create mode 100644 regex_patterns/Dolby Vision.yml create mode 100644 regex_patterns/HDR10 (Missing Groups).yml create mode 100644 regex_patterns/HDR10+.yml create mode 100644 regex_patterns/HDR10.yml diff --git a/custom_formats/Dolby Vision (Without Fallback).yml b/custom_formats/Dolby Vision (Without Fallback).yml new file mode 100644 index 0000000..d1a1275 --- /dev/null +++ b/custom_formats/Dolby Vision (Without Fallback).yml @@ -0,0 +1,12 @@ +name: Dolby Vision (Without Fallback) +description: Matches the 'Dolby Vision (Without Fallback) Regex Pattern +tags: +- Colour Grade +- HDR +conditions: +- name: Dolby Vision (Without Fallback) + negate: false + pattern: Dolby Vision (Without Fallback) + required: true + type: release_title +tests: [] diff --git a/custom_formats/Dolby Vision.yml b/custom_formats/Dolby Vision.yml new file mode 100644 index 0000000..6587fd6 --- /dev/null +++ b/custom_formats/Dolby Vision.yml @@ -0,0 +1,12 @@ +name: Dolby Vision +description: Matches the 'Dolby Vision' Regex Pattern +tags: +- Colour Grade +- HDR +conditions: +- name: Dolby Vision + negate: false + pattern: Dolby Vision + required: true + type: release_title +tests: [] diff --git a/custom_formats/HDR10 (Missing).yml b/custom_formats/HDR10 (Missing).yml new file mode 100644 index 0000000..deba291 --- /dev/null +++ b/custom_formats/HDR10 (Missing).yml @@ -0,0 +1,76 @@ +name: HDR10 (Missing) +description: Attempts to match HDR10 to groups that mislabel their releases +tags: +- Colour Grade +- HDR +conditions: +- name: Not HDR10 + negate: true + pattern: HDR10 + required: false + type: release_title +- name: Not HDR10+ + negate: true + pattern: HDR10+ + required: false + type: release_title +- name: 2160p + negate: false + required: true + resolution: 2160p + type: resolution +- name: Missing Groups + negate: false + pattern: HDR10 (Missing Groups) + required: true + type: release_title +tests: +- conditionResults: + - matches: false + name: Not HDR10 + negate: true + pattern: HDR10 + required: false + type: release_title + - matches: false + name: Not HDR10+ + negate: true + pattern: HDR10+ + required: false + type: release_title + - matches: true + name: Missing Groups + negate: false + pattern: HDR10 (Missing Groups) + required: true + type: release_title + expected: true + id: 1 + input: Barbie 2023 UHD BluRay 2160p TrueHD Atmos 7.1 DV HEVC HYBRID REMUX-FraMeSToR + lastRun: '2024-12-13T09:50:00.736356' + passes: true +- conditionResults: + - matches: true + name: Not HDR10 + negate: true + pattern: HDR10 + required: false + type: release_title + - matches: false + name: Not HDR10+ + negate: true + pattern: HDR10+ + required: false + type: release_title + - matches: true + name: Missing Groups + negate: false + pattern: HDR10 (Missing Groups) + required: true + type: release_title + expected: false + id: 2 + input: Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 + English-FraMeSToR + lastRun: '2024-12-13T09:50:00.736356' + passes: true diff --git a/custom_formats/HDR10+.yml b/custom_formats/HDR10+.yml new file mode 100644 index 0000000..37a48be --- /dev/null +++ b/custom_formats/HDR10+.yml @@ -0,0 +1,12 @@ +name: HDR10+ +description: Matches the 'HDR10+' Regex Pattern +tags: +- Colour Grade +- HDR +conditions: +- name: HDR10+ + negate: false + pattern: HDR10+ + required: true + type: release_title +tests: [] diff --git a/custom_formats/HDR10.yml b/custom_formats/HDR10.yml new file mode 100644 index 0000000..c6a1fa9 --- /dev/null +++ b/custom_formats/HDR10.yml @@ -0,0 +1,12 @@ +name: HDR10 +description: Matches the 'HDR10' Regex Pattern +tags: +- Colour Grade +- HDR +conditions: +- name: HDR10 + negate: false + pattern: HDR10 + required: true + type: release_title +tests: [] diff --git a/regex_patterns/Dolby Vision (Without Fallback).yml b/regex_patterns/Dolby Vision (Without Fallback).yml new file mode 100644 index 0000000..7b18b33 --- /dev/null +++ b/regex_patterns/Dolby Vision (Without Fallback).yml @@ -0,0 +1,52 @@ +name: Dolby Vision (Without Fallback) +pattern: (?<=^(?!.*(HDR|HULU|REMUX|BLURAY)).*?)\b(DV|Dovi|Dolby[- .]?V(ision)?)\b +description: Matches Dolby Vision when it doesn't come with regular HDR Fallback (A + Bluray Remux or a Hulu WEB-DL) +tags: +- Enhancement +- Colour Grade +- HDR +tests: +- expected: false + id: 1 + input: Barbie.2023.2160p.MA.WEB-DL.DDP5.1.Atmos.DV.HDR.H.265-FLUX + lastRun: '2024-12-13T09:54:37.318637' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 2 + input: "\t Barbie (2023) (2160p AMZN WEB-DL Hybrid H265 DV HDR10+ DDP Atmos 5.1\ + \ English - HONE)" + lastRun: '2024-12-13T09:54:37.318637' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 3 + input: Barbie.2023.2160p.MA.WEB-DL.DDP5.1.Atmos.DV.H.265-FLUX + lastRun: '2024-12-13T09:54:37.318637' + matchSpan: + end: 43 + start: 41 + matchedContent: DV + matchedGroups: + - null + - DV + - null + passes: true +- expected: true + id: 4 + input: Barbie.2023.2160p.MA.WEB-DL.DDP5.1.Atmos.DV.H.265-FLUX.mkv + lastRun: '2024-12-13T09:54:37.318637' + matchSpan: + end: 43 + start: 41 + matchedContent: DV + matchedGroups: + - null + - DV + - null + passes: true diff --git a/regex_patterns/Dolby Vision.yml b/regex_patterns/Dolby Vision.yml new file mode 100644 index 0000000..aceb140 --- /dev/null +++ b/regex_patterns/Dolby Vision.yml @@ -0,0 +1,112 @@ +name: Dolby Vision +pattern: \b(dv(?![ .](HLG|SDR))|dovi|dolby[ .]?vision)\b +description: Dolby Vision is a high dynamic range (HDR) video format that uses dynamic + metadata to deliver enhanced brightness, contrast, and color on a scene-by-scene + or frame-by-frame basis, providing superior picture quality. This pattern excludes + matches where Dolby Vision is associated with SDR (Standard Dynamic Range) or HLG + (Hybrid Log-Gamma), ensuring it focuses on Dolby Vision-specific terms. +tags: +- Enhancement +- Colour Grade +- HDR +tests: +- expected: true + id: 1 + input: MovieName.2023.4K.DV.HDR.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 20 + start: 18 + matchedContent: DV + matchedGroups: + - DV + - null + passes: true +- expected: true + id: 2 + input: MovieName.2023.4K.Dovi.HDR10+.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 22 + start: 18 + matchedContent: Dovi + matchedGroups: + - Dovi + - null + passes: true +- expected: true + id: 3 + input: MovieName.2023.4K.Dolby.Vision.HDR.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 30 + start: 18 + matchedContent: Dolby.Vision + matchedGroups: + - Dolby.Vision + - null + passes: true +- expected: true + id: 4 + input: MovieName.2023.4K.DolbyVision.HDR10+.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 29 + start: 18 + matchedContent: DolbyVision + matchedGroups: + - DolbyVision + - null + passes: true +- expected: true + id: 5 + input: MovieName.1080p.DV.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 18 + start: 16 + matchedContent: DV + matchedGroups: + - DV + - null + passes: true +- expected: true + id: 6 + input: MovieName.4K.Dolby Vision.IMAX.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 25 + start: 13 + matchedContent: Dolby Vision + matchedGroups: + - Dolby Vision + - null + passes: true +- expected: false + id: 7 + input: MovieName.2023.4K.DV.HLG.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 8 + input: MovieName.2023.4K.DV.SDR.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 9 + input: MovieName.4K.DV.SDR.Dovi.mkv + lastRun: '2024-12-13T09:06:01.845546' + matchSpan: + end: 24 + start: 20 + matchedContent: Dovi + matchedGroups: + - Dovi + - null + passes: true diff --git a/regex_patterns/HDR10 (Missing Groups).yml b/regex_patterns/HDR10 (Missing Groups).yml new file mode 100644 index 0000000..b8c84df --- /dev/null +++ b/regex_patterns/HDR10 (Missing Groups).yml @@ -0,0 +1,7 @@ +name: HDR10 (Missing Groups) +pattern: \b(FraMeSToR|HQMUX|SiCFoI|playBD|RYU|ElNeekster|CiNEPHiLES|3L|EDV|Kenobi|TRiToN|HDH|NTb|Flights)\b +description: Matches groups who mislabel HDR10 +tags: +- Release Group +- HDR +tests: [] diff --git a/regex_patterns/HDR10+.yml b/regex_patterns/HDR10+.yml new file mode 100644 index 0000000..bad1ac3 --- /dev/null +++ b/regex_patterns/HDR10+.yml @@ -0,0 +1,141 @@ +name: HDR10+ +pattern: (?<=^(?!.*\b(HLG|PQ|SDR)(\b|\d)).*?)HDR10(\+|P(lus)?) +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. +tags: +- Enhancement +- Colour Grade +- HDR +tests: +- expected: false + id: 1 + input: HDR + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 2 + input: HDR+ + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 3 + input: HDR10 + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 4 + input: HDR10+ + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: + end: 6 + start: 0 + matchedContent: HDR10+ + matchedGroups: + - null + - null + - + + - null + passes: true +- expected: false + id: 5 + input: HLG HDR + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 6 + input: SDR HDR + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 7 + input: PQ HDR + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 8 + input: HDR10P + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: + end: 6 + start: 0 + matchedContent: HDR10P + matchedGroups: + - null + - null + - P + - null + passes: true +- expected: true + id: 9 + input: HDR10Plus + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: + end: 9 + start: 0 + matchedContent: HDR10Plus + matchedGroups: + - null + - null + - Plus + - lus + passes: true +- expected: true + id: 10 + 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' + matchSpan: + end: 68 + start: 62 + matchedContent: HDR10+ + matchedGroups: + - null + - null + - + + - null + passes: true +- expected: true + id: 11 + 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' + matchSpan: + end: 73 + start: 67 + matchedContent: HDR10+ + matchedGroups: + - null + - null + - + + - null + passes: true +- expected: false + 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 + lastRun: '2024-12-13T09:52:40.529508' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true diff --git a/regex_patterns/HDR10.yml b/regex_patterns/HDR10.yml new file mode 100644 index 0000000..8670f19 --- /dev/null +++ b/regex_patterns/HDR10.yml @@ -0,0 +1,161 @@ +name: HDR10 +pattern: (?<=^(?!.*\b(HLG|PQ|SDR)(\b|\d)).*?)HDR(?!((10)?(\+|P(lus)?))) +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. +tags: +- Enhancement +- Colour Grade +- HDR +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 + id: 2 + input: HDR+ + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 3 + input: HDR10 + 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 + id: 4 + input: HDR10+ + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 5 + input: HLG HDR + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 6 + input: SDR HDR + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 7 + input: PQ HDR + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 8 + input: HDR10 + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: + end: 3 + start: 0 + matchedContent: HDR + matchedGroups: + - null + - null + - null + - null + - null + - null + passes: true +- expected: true + id: 9 + input: Barbie (2023) 2160p UHD BluRay Hybrid REMUX HEVC DV HDR TrueHD Atmos 7.1 + English-FraMeSToR + lastRun: '2024-12-13T09:52:16.317820' + matchSpan: + end: 55 + start: 52 + matchedContent: HDR + matchedGroups: + - null + - null + - null + - null + - null + - null + 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: '2024-12-13T09:52:16.317820' + matchSpan: + end: 61 + start: 58 + matchedContent: HDR + matchedGroups: + - null + - null + - null + - null + - null + - null + passes: true +- expected: true + 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: '2024-12-13T09:52:16.317820' + matchSpan: + end: 80 + start: 77 + matchedContent: HDR + matchedGroups: + - null + - null + - null + - null + - null + - null + 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: '2024-12-13T09:52:16.317820' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true