From 7833789f879da002bdba637d6a44b00e7c64599a Mon Sep 17 00:00:00 2001 From: santiagosayshey Date: Sun, 12 Jan 2025 03:49:35 +1030 Subject: [PATCH] New Profile: 2160p Remux (#17) * fix(format): Add required negation to remux regex * Improvement(format): Better h265 parsing - Only match 1080p + WEB - Don't match remuxes / full discs * feat(profile): New Profile: 2160p Remux - Profile initialisation - Still needs to be tested * fix(format): Fix required negations for Atmos and HDR10 * feat(format): New 'codec' CF - Matches Remux as a codec, not a source. Either h265 or h264. - Need a better descriptor for this * improvement(format): Parse for BTN Atmos labelling - Instead of 'Atmos', match a singular 'A' after 'TrueHD' or 'DDP' - The.Last.of.Us.S01.2160p.UHD.BluRay.Remux.TrueHDA7.1.H.265-PmP * fix(format): required negations for TrueHD * fix(format): don't match encodes / remuxes * improvement(regex): Regex patterns for prior Atmos improvements * improvement(format): Add more missing groups for HDR10, TrueHD - TekMUX for HDR - PmP for TrueHD * feat(format): new CF: Encodes from Blu-ray - Matches encodes from a Blu-ray, needed to drop score of 4k encodes * feat(format): New CF: Non Retail HDR - Matches releases with non retail HDR from specific release groups (notably from torrentleech) * improvement(profile): Various scoring fixes for 2160p Remux - Negate non-retail HDR - Negate Bluray encodes - Add missing TrueHD scores - Add remux (codec) score - Update until still broken * fix(profile): Restore Prefer Freeleech * fix(profile): Fix Quality Cutoff - Now back to 2160p Remux - Mapping wasn't properly resolving to Sonarr IDs * tweak(profile): Scoring Changes - Upgrade until -> 350 represents a 2160p Remux with DV + HDR10+, TrueHD + Atmos - Min score increment -> 10 to stop upgrades between freleech * tweak(regex): Add 'jennaortegaUHD' to Non Retail HDR Groups - Releases appear to have injected HDR10+ / DoVi - Unclear if this is non retail, but no other groups have these layers * tweak(format): Add DVD negation to Remux CF * fix(format): Fixed BTN Atmos Condition - Wasn't set properly due to rename bug - Add basic tests * add(format): SDR Negation in HDR (Missing) - Negate HDR when SDR is explicitly * tweak(regex): Optional seperator between TrueHDA and 7.1 * tweak(regex): Add HDS to Missing HDR groups * add(profile): Match and negate remuxes from UHDBits - release titles never include audio * tweak(regex): Add Aisha to missing HDR Groups * tweak(regex): make @RFX Optional in Aisha match --- custom_formats/Atmos (Missing).yml | 107 ++++++++++++- custom_formats/Atmos.yml | 63 +++++++- custom_formats/Blu-ray Encode.yml | 16 ++ custom_formats/Blu-ray.yml | 4 +- custom_formats/HDR10 (Missing).yml | 64 +++++++- custom_formats/Non Retail HDR.yml | 54 +++++++ custom_formats/Remux.yml | 16 ++ custom_formats/TrueHD (Missing).yml | 16 +- custom_formats/TrueHD.yml | 8 +- custom_formats/UHDBits.yml | 12 ++ custom_formats/h265.yml | 20 +++ profiles/2160p Remux.yml | 148 ++++++++++++++++++ .../{TrueHD + Atmos.yml => Atmos (BTN).yml} | 0 regex_patterns/Atmos.yml | 40 ++++- regex_patterns/BTN Atmos.yml | 51 ++++++ regex_patterns/Bracketed Year.yml | 15 ++ regex_patterns/HDR10 (Missing Groups).yml | 41 ++++- regex_patterns/Non Retail HDR Formats.yml | 91 +++++++++++ regex_patterns/Non Retail HDR Groups.yml | 28 ++++ regex_patterns/SDR.yml | 27 ++++ regex_patterns/TrueHD (Missing Groups).yml | 2 +- 21 files changed, 789 insertions(+), 34 deletions(-) create mode 100644 custom_formats/Blu-ray Encode.yml create mode 100644 custom_formats/Non Retail HDR.yml create mode 100644 custom_formats/Remux.yml create mode 100644 custom_formats/UHDBits.yml create mode 100644 profiles/2160p Remux.yml rename regex_patterns/{TrueHD + Atmos.yml => Atmos (BTN).yml} (100%) create mode 100644 regex_patterns/BTN Atmos.yml create mode 100644 regex_patterns/Bracketed Year.yml create mode 100644 regex_patterns/Non Retail HDR Formats.yml create mode 100644 regex_patterns/Non Retail HDR Groups.yml create mode 100644 regex_patterns/SDR.yml diff --git a/custom_formats/Atmos (Missing).yml b/custom_formats/Atmos (Missing).yml index 0e93dea..1a385b7 100644 --- a/custom_formats/Atmos (Missing).yml +++ b/custom_formats/Atmos (Missing).yml @@ -9,16 +9,111 @@ conditions: - name: Not Atmos negate: true pattern: Atmos - required: false + required: true type: release_title - name: 7.1 Surround - type: release_title - required: true negate: false pattern: 7.1 Surround -- name: TrueHD - type: release_title required: true + type: release_title +- name: TrueHD negate: false pattern: TrueHD -tests: [] + required: true + type: release_title +- name: Not Atmos (BTN) + negate: true + pattern: BTN Atmos + required: true + type: release_title +tests: +- conditionResults: + - matches: false + name: Not Atmos + negate: true + pattern: Atmos + required: true + type: release_title + - matches: true + name: 7.1 Surround + negate: false + pattern: 7.1 Surround + required: true + type: release_title + - matches: true + name: TrueHD + negate: false + pattern: TrueHD + required: true + type: release_title + - matches: true + name: Not Atmos (BTN) + negate: true + pattern: BTN Atmos + required: true + type: release_title + expected: false + id: 1 + input: House.of.the.Dragon.S01.DV.2160p.BluRay.Remux.TrueHDA7.1.H.265-TekMUX + lastRun: '2025-01-11T23:15:56.334239' + passes: true +- conditionResults: + - matches: true + name: Not Atmos + negate: true + pattern: Atmos + required: true + type: release_title + - matches: true + name: 7.1 Surround + negate: false + pattern: 7.1 Surround + required: true + type: release_title + - matches: true + name: TrueHD + negate: false + pattern: TrueHD + required: true + type: release_title + - matches: false + name: Not Atmos (BTN) + negate: true + pattern: BTN Atmos + required: true + type: release_title + expected: false + id: 2 + input: House of the Dragon S01 UHD BluRay 2160p TrueHD Atmos 7.1 DV HEVC REMUX-FraMeSToR + lastRun: '2025-01-11T23:15:56.334239' + passes: true +- conditionResults: + - matches: false + name: Not Atmos + negate: true + pattern: Atmos + required: true + type: release_title + - matches: true + name: 7.1 Surround + negate: false + pattern: 7.1 Surround + required: true + type: release_title + - matches: true + name: TrueHD + negate: false + pattern: TrueHD + required: true + type: release_title + - matches: true + name: Not Atmos (BTN) + negate: true + pattern: BTN Atmos + required: true + type: release_title + expected: false + id: 3 + input: Loki.S01.2160p.UHD.BluRay.Remux.TrueHDA.7.1.H.265-SiCFoI + lastRun: '2025-01-11T23:15:56.334239' + passes: true diff --git a/custom_formats/Atmos.yml b/custom_formats/Atmos.yml index d902442..0f2a0e5 100644 --- a/custom_formats/Atmos.yml +++ b/custom_formats/Atmos.yml @@ -8,6 +8,65 @@ conditions: - name: Atmos negate: false pattern: Atmos - required: true + required: false type: release_title -tests: [] +- name: Atmos (BTN Standard) + negate: false + pattern: BTN Atmos + required: false + type: release_title +tests: +- conditionResults: + - matches: false + name: Atmos + negate: false + pattern: Atmos + required: false + type: release_title + - matches: true + name: Atmos (BTN Standard) + negate: false + pattern: BTN Atmos + required: false + type: release_title + expected: true + id: 1 + input: House.of.the.Dragon.S01.DV.2160p.BluRay.Remux.TrueHDA7.1.H.265-TekMUX + lastRun: '2025-01-11T23:15:49.211241' + passes: true +- conditionResults: + - matches: true + name: Atmos + negate: false + pattern: Atmos + required: false + type: release_title + - matches: false + name: Atmos (BTN Standard) + negate: false + pattern: BTN Atmos + required: false + type: release_title + expected: true + id: 2 + input: "\t House of the Dragon S01 UHD BluRay 2160p TrueHD Atmos 7.1 DV HEVC REMUX-FraMeSToR" + lastRun: '2025-01-11T23:15:49.211241' + passes: true +- conditionResults: + - matches: false + name: Atmos + negate: false + pattern: Atmos + required: false + type: release_title + - matches: true + name: Atmos (BTN Standard) + negate: false + pattern: BTN Atmos + required: false + type: release_title + expected: true + id: 3 + input: Loki.S01.2160p.UHD.BluRay.Remux.TrueHDA.7.1.H.265-SiCFoI + lastRun: '2025-01-11T23:15:49.211241' + passes: true diff --git a/custom_formats/Blu-ray Encode.yml b/custom_formats/Blu-ray Encode.yml new file mode 100644 index 0000000..46f6e90 --- /dev/null +++ b/custom_formats/Blu-ray Encode.yml @@ -0,0 +1,16 @@ +name: Blu-ray Encode +description: Matches Blu-rays that are NOT remuxes +tags: +- Source +conditions: +- name: Remux + type: release_title + required: true + negate: true + pattern: Remux +- name: Blu-ray + type: source + required: true + negate: false + source: bluray +tests: [] diff --git a/custom_formats/Blu-ray.yml b/custom_formats/Blu-ray.yml index 536ce5c..740749d 100644 --- a/custom_formats/Blu-ray.yml +++ b/custom_formats/Blu-ray.yml @@ -18,10 +18,10 @@ conditions: source: bluray type: source - name: Remux - type: release_title - required: false negate: true pattern: Remux + required: true + type: release_title tests: - conditionResults: - matches: true diff --git a/custom_formats/HDR10 (Missing).yml b/custom_formats/HDR10 (Missing).yml index deba291..f4b81fc 100644 --- a/custom_formats/HDR10 (Missing).yml +++ b/custom_formats/HDR10 (Missing).yml @@ -7,12 +7,12 @@ conditions: - name: Not HDR10 negate: true pattern: HDR10 - required: false + required: true type: release_title - name: Not HDR10+ negate: true pattern: HDR10+ - required: false + required: true type: release_title - name: 2160p negate: false @@ -24,19 +24,24 @@ conditions: pattern: HDR10 (Missing Groups) required: true type: release_title +- name: Not SDR + negate: true + pattern: SDR + required: true + type: release_title tests: - conditionResults: - matches: false name: Not HDR10 negate: true pattern: HDR10 - required: false + required: true type: release_title - matches: false name: Not HDR10+ negate: true pattern: HDR10+ - required: false + required: true type: release_title - matches: true name: Missing Groups @@ -44,23 +49,29 @@ tests: pattern: HDR10 (Missing Groups) required: true type: release_title + - matches: false + name: Not SDR + negate: true + pattern: SDR + 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' + lastRun: '2025-01-11T22:58:21.736014' passes: true - conditionResults: - matches: true name: Not HDR10 negate: true pattern: HDR10 - required: false + required: true type: release_title - matches: false name: Not HDR10+ negate: true pattern: HDR10+ - required: false + required: true type: release_title - matches: true name: Missing Groups @@ -68,9 +79,46 @@ tests: pattern: HDR10 (Missing Groups) required: true type: release_title + - matches: false + name: Not SDR + negate: true + pattern: SDR + 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' + lastRun: '2025-01-11T22:58:21.736014' + passes: true +- conditionResults: + - matches: false + name: Not HDR10 + negate: true + pattern: HDR10 + required: true + type: release_title + - matches: false + name: Not HDR10+ + negate: true + pattern: HDR10+ + required: true + type: release_title + - matches: true + name: Missing Groups + negate: false + pattern: HDR10 (Missing Groups) + required: true + type: release_title + - matches: true + name: Not SDR + negate: true + pattern: SDR + required: true + type: release_title + expected: false + id: 3 + input: "For a Few Dollars More aka Per qualche dollaro in pi\xF9 1965 UHD BluRay\ + \ 2160p DTS-HD MA 5.1 SDR HEVC REMUX-FraMeSToR" + lastRun: '2025-01-11T22:58:21.736014' passes: true diff --git a/custom_formats/Non Retail HDR.yml b/custom_formats/Non Retail HDR.yml new file mode 100644 index 0000000..b080928 --- /dev/null +++ b/custom_formats/Non Retail HDR.yml @@ -0,0 +1,54 @@ +name: Non Retail HDR +description: 'Matches groups who produce non-retail HDR10+ or Dolby Vision. ' +tags: +- HDR +- Release Group +- Unwanted +conditions: +- name: HDR10+ or DoVi + negate: false + pattern: Non Retail HDR Formats + required: true + type: release_title +- name: Groups + negate: false + pattern: Non Retail HDR Groups + required: true + type: release_title +tests: +- conditionResults: + - matches: true + name: HDR10+ or DoVi + negate: false + pattern: Non Retail HDR Formats + required: true + type: release_title + - matches: true + name: Groups + negate: false + pattern: Non Retail HDR Groups + required: true + type: release_title + expected: true + id: 1 + input: Longlegs 2024 2160p BluRay REMUX DTS-HD MA 5 1 DV HDR H 265-SasukeducK + lastRun: '2025-01-06T14:48:25.564813' + passes: true +- conditionResults: + - matches: true + name: HDR10+ or DoVi + negate: false + pattern: Non Retail HDR Formats + required: true + type: release_title + - matches: false + name: Groups + negate: false + pattern: Non Retail HDR Groups + required: true + type: release_title + expected: false + id: 2 + input: Longlegs 2024 UHD BluRay 2160p DTS-HD MA 5.1 HDR10+ HEVC HYBRID REMUX-126811 + lastRun: '2025-01-06T14:48:25.564813' + passes: true diff --git a/custom_formats/Remux.yml b/custom_formats/Remux.yml new file mode 100644 index 0000000..803c197 --- /dev/null +++ b/custom_formats/Remux.yml @@ -0,0 +1,16 @@ +name: Remux +description: Matches Remux as a codec, not a source. Either h265 or h264. +tags: +- Codec +conditions: +- name: Remux + negate: false + pattern: Remux + required: true + type: release_title +- name: Not DVD + type: source + required: true + negate: true + source: dvd +tests: [] diff --git a/custom_formats/TrueHD (Missing).yml b/custom_formats/TrueHD (Missing).yml index 559f750..8189260 100644 --- a/custom_formats/TrueHD (Missing).yml +++ b/custom_formats/TrueHD (Missing).yml @@ -10,10 +10,10 @@ conditions: required: true type: release_title - name: 2160p - type: resolution - required: true negate: false + required: true resolution: 2160p + type: resolution - name: Remux negate: false pattern: Remux @@ -22,21 +22,21 @@ conditions: - name: Not DTS-HD negate: true pattern: DTS-HD - required: false + required: true type: release_title - name: Not DTS-X negate: true pattern: DTS-X - required: false + required: true type: release_title - name: Not TrueHD - type: release_title - required: false negate: true pattern: TrueHD -- name: Not FLAC + required: true type: release_title - required: false +- name: Not FLAC negate: true pattern: FLAC + required: true + type: release_title tests: [] diff --git a/custom_formats/TrueHD.yml b/custom_formats/TrueHD.yml index 79f4ea9..fc0ce90 100644 --- a/custom_formats/TrueHD.yml +++ b/custom_formats/TrueHD.yml @@ -12,21 +12,21 @@ conditions: - name: Not DTS negate: true pattern: DTS - required: false + required: true type: release_title - name: Not Dolby Digital negate: true pattern: Dolby Digital - required: false + required: true type: release_title - name: Not FLAC negate: true pattern: FLAC - required: false + required: true type: release_title - name: Not Dolby Digital + negate: true pattern: Dolby Digital + - required: false + required: true type: release_title tests: [] diff --git a/custom_formats/UHDBits.yml b/custom_formats/UHDBits.yml new file mode 100644 index 0000000..4fbaf08 --- /dev/null +++ b/custom_formats/UHDBits.yml @@ -0,0 +1,12 @@ +name: UHDBits +description: Matches patterns unique to the UHDBits indexer. Needed to remove remux + based releases due to bad parsing +tags: +- Private Tracker +conditions: +- name: Year in Brackets + negate: false + pattern: Bracketed Year + required: true + type: release_title +tests: [] diff --git a/custom_formats/h265.yml b/custom_formats/h265.yml index 1b97080..f404396 100644 --- a/custom_formats/h265.yml +++ b/custom_formats/h265.yml @@ -8,4 +8,24 @@ conditions: pattern: h265 required: true type: release_title +- name: Not Full Disc + type: release_title + required: true + negate: true + pattern: Full Disc +- name: Not Remux + type: release_title + required: true + negate: true + pattern: Remux +- name: WEB + type: source + required: true + negate: false + source: web_dl +- name: Not 4K + type: resolution + required: true + negate: true + resolution: 2160p tests: [] diff --git a/profiles/2160p Remux.yml b/profiles/2160p Remux.yml new file mode 100644 index 0000000..e69e8db --- /dev/null +++ b/profiles/2160p Remux.yml @@ -0,0 +1,148 @@ +name: 2160p Remux +description: "This profile prioritizes quality above all else. It will attempt to\ + \ grab 2160p Remuxes, which are direct copies of 4K Blu-rays. These files include\ + \ very high bitrate video, lossless, often spatial, audio as well as the various\ + \ HDR formats - HDR10(+) and Dolby Vision. Instead of relying on a release group\ + \ metric to find the best remuxes, it uses the various video + audio formats introduced\ + \ prior, to find the best release. For example, Dolby Vision is preferred over HDR10\ + \ & TrueHD + Atmos is preferred over DTS-HD MA. \n\nThis profile does not fit into\ + \ the typical \"Quality -> Balanced -> Efficient\" triarchy since it's lossless. " +tags: +- 2160p +- Lossless +- Remux +- HDR +- Dolby Vision +upgradesAllowed: true +minCustomFormatScore: 0 +upgradeUntilScore: 350 +minScoreIncrement: 10 +custom_formats: +- name: 2160p + score: 120 +- name: 1080p + score: 60 +- name: Blu-ray + score: 60 +- name: Blu-ray Remux + score: 60 +- name: DTS-X + score: 60 +- name: Remux + score: 60 +- name: DTS-HD MA + score: 50 +- name: TrueHD + score: 50 +- name: TrueHD (Missing) + score: 50 +- name: DVD Remux + score: 40 +- name: Amazon Prime + score: 30 +- name: Apple TV+ + score: 30 +- name: Disney+ + score: 30 +- name: Dolby Vision + score: 30 +- name: FLAC + score: 30 +- name: Movies Anywhere + score: 30 +- name: Criterion Channel + score: 20 +- name: HBO Max + score: 20 +- name: HDR10+ + score: 20 +- name: Max + score: 20 +- name: Netflix + score: 20 +- name: Paramount+ + score: 20 +- name: Peacock + score: 20 +- name: Atmos + score: 10 +- name: Atmos (Missing) + score: 10 +- name: HDR10 + score: 10 +- name: HDR10 (Missing) + score: 10 +- name: Hulu + score: 10 +- name: iTunes + score: 10 +- name: iTunes (Missing) + score: 10 +- name: Roku + score: 10 +- name: 3D + score: -9999 +- name: 720p + score: -9999 +- name: AV1 + score: -9999 +- name: B&W + score: -9999 +- name: Blu-ray Encode + score: -9999 +- name: Dolby Vision (Without Fallback) + score: -9999 +- name: Extras + score: -9999 +- name: Full Disc + score: -9999 +- name: h265 + score: -9999 +- name: h265 (Missing) + score: -9999 +- name: Non Retail HDR + score: -9999 +- name: UHDBits + score: -9999 +- name: Upscaled + score: -9999 +- name: VVC + score: -9999 +- name: WEBRip + score: -9999 +- name: x264 + score: -9999 +- name: x265 + score: -9999 +qualities: +- id: 3 + name: Remux-2160p +- id: 5 + name: WEBDL-2160p +- id: 8 + name: Remux-1080p +- id: 9 + name: WEBDL-1080p +- id: -1 + name: SD + description: Standard Definition Fallbacks + qualities: + - id: 22 + name: DVD + - id: 19 + name: WEBDL-480p + - id: 20 + name: WEBRip-480p + - id: 24 + name: SDTV +upgrade_until: + id: 3 + name: Remux-2160p + description: 4K Ultra HD Blu-ray disc content remuxed into a playable file format +language: must_original +tweaks: + preferFreeleech: true + allowLosslessAudio: true + allowDVNoFallback: false + allowBleedingEdgeCodecs: false + allowPrereleases: false diff --git a/regex_patterns/TrueHD + Atmos.yml b/regex_patterns/Atmos (BTN).yml similarity index 100% rename from regex_patterns/TrueHD + Atmos.yml rename to regex_patterns/Atmos (BTN).yml diff --git a/regex_patterns/Atmos.yml b/regex_patterns/Atmos.yml index 50a6e98..50eada5 100644 --- a/regex_patterns/Atmos.yml +++ b/regex_patterns/Atmos.yml @@ -4,4 +4,42 @@ description: '' tags: - Audio - Enhancement -tests: [] +tests: +- expected: false + id: 1 + input: The.Last.of.Us.S01.2160p.UHD.BluRay.Remux.TrueHDA7.1.H.265-PmP + lastRun: '2025-01-06T15:07:07.378833' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 2 + input: The.Last.of.Us.S01.UHD.BluRay.2160p.TrueHD.Atmos.7.1.DV.HEVC.REMUX-FraMeSToR + lastRun: '2025-01-06T15:07:07.378833' + matchSpan: + end: 48 + start: 43 + matchedContent: Atmos + matchedGroups: + - '' + passes: true +- expected: true + id: 3 + input: The Last of Us S01 2160p MAX WEB-DL DDP 5.1 Atmos DV HDR H.265-FLUX + lastRun: '2025-01-06T15:07:07.378833' + matchSpan: + end: 49 + start: 44 + matchedContent: Atmos + matchedGroups: + - '' + passes: true +- expected: false + id: 4 + input: The.Last.of.Us.S01.DV.HDR.2160p.MAX.WEB-DL.DDPA5.1.H.265-FLUX + lastRun: '2025-01-06T15:07:07.378833' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true diff --git a/regex_patterns/BTN Atmos.yml b/regex_patterns/BTN Atmos.yml new file mode 100644 index 0000000..3f89665 --- /dev/null +++ b/regex_patterns/BTN Atmos.yml @@ -0,0 +1,51 @@ +name: BTN Atmos +pattern: \bTrue[ .-]?HDA[ .-]?[57]\.1|DDPA[57]\.1\b +description: Matches BroadcastTheNet Atmos naming convention +tags: [] +tests: +- expected: true + id: 1 + input: The.Last.of.Us.S01.2160p.UHD.BluRay.Remux.TrueHDA7.1.H.265-PmP + lastRun: '2025-01-11T23:15:36.540509' + matchSpan: + end: 52 + start: 42 + matchedContent: TrueHDA7.1 + matchedGroups: [] + passes: true +- expected: false + id: 2 + input: The.Last.of.Us.S01.UHD.BluRay.2160p.TrueHD.Atmos.7.1.DV.HEVC.REMUX-FraMeSToR + lastRun: '2025-01-11T23:15:36.540509' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 3 + input: The Last of Us S01 2160p MAX WEB-DL DDP 5.1 Atmos DV HDR H.265-FLUX + lastRun: '2025-01-11T23:15:36.540509' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 4 + input: The.Last.of.Us.S01.DV.HDR.2160p.MAX.WEB-DL.DDPA5.1.H.265-FLUX + lastRun: '2025-01-11T23:15:36.540509' + matchSpan: + end: 50 + start: 43 + matchedContent: DDPA5.1 + matchedGroups: [] + passes: true +- expected: true + id: 5 + input: Loki.S01.2160p.UHD.BluRay.Remux.TrueHDA.7.1.H.265-SiCFoI + lastRun: '2025-01-11T23:15:36.540509' + matchSpan: + end: 43 + start: 32 + matchedContent: TrueHDA.7.1 + matchedGroups: [] + passes: true diff --git a/regex_patterns/Bracketed Year.yml b/regex_patterns/Bracketed Year.yml new file mode 100644 index 0000000..90bbdbc --- /dev/null +++ b/regex_patterns/Bracketed Year.yml @@ -0,0 +1,15 @@ +name: Bracketed Year +pattern: \[\d{4}\] +description: Match a year moniker inside square brackets +tags: [] +tests: +- expected: true + id: 1 + input: Loki S01 [2021] 2160p HEVC Blu-Ray Remux HDR10 -SiCFoI + lastRun: '2025-01-12T00:57:33.563808' + matchSpan: + end: 15 + start: 9 + matchedContent: '[2021]' + matchedGroups: [] + passes: true diff --git a/regex_patterns/HDR10 (Missing Groups).yml b/regex_patterns/HDR10 (Missing Groups).yml index b8c84df..2254309 100644 --- a/regex_patterns/HDR10 (Missing Groups).yml +++ b/regex_patterns/HDR10 (Missing Groups).yml @@ -1,7 +1,44 @@ name: HDR10 (Missing Groups) -pattern: \b(FraMeSToR|HQMUX|SiCFoI|playBD|RYU|ElNeekster|CiNEPHiLES|3L|EDV|Kenobi|TRiToN|HDH|NTb|Flights)\b +pattern: \b(FraMeSToR|HQMUX|SiCFoI|playBD|RYU|ElNeekster|CiNEPHiLES|3L|EDV|Kenobi|TRiToN|HDH|NTb|Flights|TekMUX|HDS|Aisha(@RFX)?)\b description: Matches groups who mislabel HDR10 tags: - Release Group - HDR -tests: [] +tests: +- expected: true + id: 1 + input: Loki S01 2023 2160p UHD Blu-ray Remux HEVC TrueHD 7 1 Atmos-HDS + lastRun: '2025-01-12T01:22:17.490763' + matchSpan: + end: 63 + start: 60 + matchedContent: HDS + matchedGroups: + - HDS + - null + passes: true +- expected: true + id: 2 + input: "\t Loki S01 REPACK UHD BluRay 2160p TrueHD Atmos 7.1 DV HEVC HYBRID REMUX-FraMeSToR" + lastRun: '2025-01-12T01:22:17.490763' + matchSpan: + end: 82 + start: 73 + matchedContent: FraMeSToR + matchedGroups: + - FraMeSToR + - null + passes: true +- expected: true + id: 3 + input: Alien Romulus 2024 BluRay 2160p UHD REMUX HEVC (10bit) DV Atmos DTS-HD MA + 7 1-Aisha@RFX + lastRun: '2025-01-12T01:22:17.490763' + matchSpan: + end: 87 + start: 78 + matchedContent: Aisha@RFX + matchedGroups: + - Aisha@RFX + - '@RFX' + passes: true diff --git a/regex_patterns/Non Retail HDR Formats.yml b/regex_patterns/Non Retail HDR Formats.yml new file mode 100644 index 0000000..c3447ee --- /dev/null +++ b/regex_patterns/Non Retail HDR Formats.yml @@ -0,0 +1,91 @@ +name: Non Retail HDR Formats +pattern: (?:(?<=^(?!.*\b(HLG|PQ|SDR)(\b|\d)).*?)HDR10(\+|P(lus)?))|\b(dv(?![ .](HLG|SDR))|dovi|dolby[ + .]?vision)\b +description: 'Matches Dolby Vision OR HDR10+. Needed to match release groups who create + custom HDR layers. ' +tags: +- Enhancement +- Colour Grade +- HDR +tests: +- expected: true + id: 5 + input: MovieName.1080p.DV.mkv + lastRun: '2025-01-06T14:39:44.667920' + matchSpan: + end: 18 + start: 16 + matchedContent: DV + matchedGroups: + - null + - null + - null + - null + - DV + - null + passes: true +- expected: true + id: 6 + input: MovieName.4K.Dolby Vision.IMAX.mkv + lastRun: '2025-01-06T14:39:44.667920' + matchSpan: + end: 25 + start: 13 + matchedContent: Dolby Vision + matchedGroups: + - null + - null + - null + - null + - Dolby Vision + - null + passes: true +- expected: false + id: 7 + input: MovieName.2023.4K.DV.HLG.mkv + lastRun: '2025-01-06T14:39:44.667920' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: false + id: 8 + input: MovieName.2023.4K.DV.SDR.mkv + lastRun: '2025-01-06T14:39:44.667920' + matchSpan: null + matchedContent: null + matchedGroups: [] + passes: true +- expected: true + id: 9 + input: MovieName.4K.DV.SDR.Dovi.mkv + lastRun: '2025-01-06T14:39:44.667920' + matchSpan: + end: 24 + start: 20 + matchedContent: Dovi + matchedGroups: + - null + - null + - null + - null + - Dovi + - null + 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: '2025-01-06T14:39:44.667920' + matchSpan: + end: 61 + start: 59 + matchedContent: DV + matchedGroups: + - null + - null + - null + - null + - DV + - null + passes: true diff --git a/regex_patterns/Non Retail HDR Groups.yml b/regex_patterns/Non Retail HDR Groups.yml new file mode 100644 index 0000000..91b8786 --- /dev/null +++ b/regex_patterns/Non Retail HDR Groups.yml @@ -0,0 +1,28 @@ +name: Non Retail HDR Groups +pattern: (?<=^|[\s.-])VECTOR|BiTOR|DepraveD|SasukeducK|tarunk9c|jennaortegaUHD\b +description: Matches groups that produce non retail HDR. +tags: +- Release Group +- HDR +- Unwanted +tests: +- expected: true + id: 1 + input: Longlegs 2024 2160p BluRay REMUX DTS-HD MA 5 1 DV HDR H 265-SasukeducK + lastRun: '2025-01-11T05:45:15.414689' + matchSpan: + end: 70 + start: 60 + matchedContent: SasukeducK + matchedGroups: [] + passes: true +- expected: true + id: 2 + input: Blade Runner 2049 2017 2160p REMUX HEVC DV HDR10+ TrueHD 7.1 Atmos-jennaortegaUHD + lastRun: '2025-01-11T05:45:15.414689' + matchSpan: + end: 81 + start: 67 + matchedContent: jennaortegaUHD + matchedGroups: [] + passes: true diff --git a/regex_patterns/SDR.yml b/regex_patterns/SDR.yml new file mode 100644 index 0000000..d90b3b1 --- /dev/null +++ b/regex_patterns/SDR.yml @@ -0,0 +1,27 @@ +name: SDR +pattern: \bSDR\b +description: 'Explicitly matches labelled Standard Dynamic Range, i.e. "SDR" ' +tags: +- HDR +tests: +- expected: true + id: 1 + input: Yojimbo.1961.REPACK.2160p.UHD.Blu-ray.Remux.SDR.HEVC.FLAC.1.0-CiNEPHiLES.mkv + lastRun: '2025-01-11T22:58:34.197378' + matchSpan: + end: 47 + start: 44 + matchedContent: SDR + matchedGroups: [] + passes: true +- expected: true + id: 2 + input: "For a Few Dollars More aka Per qualche dollaro in pi\xF9 1965 UHD BluRay\ + \ 2160p DTS-HD MA 5.1 SDR HEVC REMUX-FraMeSToR" + lastRun: '2025-01-11T22:58:34.197378' + matchSpan: + end: 93 + start: 90 + matchedContent: SDR + matchedGroups: [] + passes: true diff --git a/regex_patterns/TrueHD (Missing Groups).yml b/regex_patterns/TrueHD (Missing Groups).yml index 0f5c851..1a8d72d 100644 --- a/regex_patterns/TrueHD (Missing Groups).yml +++ b/regex_patterns/TrueHD (Missing Groups).yml @@ -1,5 +1,5 @@ name: TrueHD (Missing Groups) -pattern: (?<=^|[\s.-])TRiToN|EPSiLON|NoGroup\b +pattern: (?<=^|[\s.-])TRiToN|EPSiLON|NoGroup|PmP\b description: Matches groups who mislabel TrueHD tags: - Release Group