diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml new file mode 100644 index 0000000..93c46b2 --- /dev/null +++ b/.github/workflows/sync-upstream.yml @@ -0,0 +1,62 @@ +name: Sync Upstream + +on: + schedule: + # Run weekly on Sundays at 2 AM UTC + - cron: '0 2 * * 0' + workflow_dispatch: + # Allow manual triggering + +jobs: + sync: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.GITHUB_TOKEN }} + + - name: Configure Git + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + + - name: Add upstream remote + run: | + git remote add upstream https://github.com/Dictionarry-Hub/database.git || true + git fetch upstream + + - name: Sync from upstream stable branch + run: | + # Try to merge upstream changes + git merge upstream/stable --no-edit --allow-unrelated-histories || { + echo "Merge conflict detected, attempting auto-resolution..." + + # Keep our custom files (Micro profiles and formats) + git checkout --ours profiles/*Micro*.yml custom_formats/*Micro*.yml regex_patterns/BONE.yml regex_patterns/GalaxyRG.yml regex_patterns/TGx.yml regex_patterns/ETHEL.yml 2>/dev/null || true + + # Keep their files for everything else + git checkout --theirs profiles/*.yml custom_formats/*.yml regex_patterns/*.yml 2>/dev/null || true + + # Add resolved files + git add -A + + # Complete the merge + git commit -m "chore(sync): Merge upstream changes from Dictionarry-Hub/database" || true + } + + - name: Push changes + run: | + git push origin main || git push origin master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Create summary + run: | + echo "## Upstream Sync Summary" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "✅ Successfully synced from upstream repository" >> $GITHUB_STEP_SUMMARY + echo "- Source: Dictionarry-Hub/database (stable branch)" >> $GITHUB_STEP_SUMMARY + echo "- Custom files preserved: Micro profiles and formats" >> $GITHUB_STEP_SUMMARY diff --git a/custom_formats/Micro Encode Tier 1.yml b/custom_formats/Micro Encode Tier 1.yml new file mode 100644 index 0000000..46cce19 --- /dev/null +++ b/custom_formats/Micro Encode Tier 1.yml @@ -0,0 +1,17 @@ +name: Micro Encode Tier 1 +description: Matches top-tier micro-encode release groups (YTS, YIFY) for storage-conscious users +tags: +- Release Group Tier +- Micro +conditions: +- name: YTS + negate: false + pattern: YTS + required: false + type: release_group +- name: YIFY + negate: false + pattern: YIFY + required: false + type: release_group +tests: [] diff --git a/custom_formats/Micro Encode Tier 2.yml b/custom_formats/Micro Encode Tier 2.yml new file mode 100644 index 0000000..598c4b2 --- /dev/null +++ b/custom_formats/Micro Encode Tier 2.yml @@ -0,0 +1,17 @@ +name: Micro Encode Tier 2 +description: Matches mid-tier micro-encode release groups (BONE, GalaxyRG) for storage-conscious users +tags: +- Release Group Tier +- Micro +conditions: +- name: BONE + negate: false + pattern: BONE + required: false + type: release_group +- name: GalaxyRG + negate: false + pattern: GalaxyRG + required: false + type: release_group +tests: [] diff --git a/custom_formats/Micro Encode Tier 3.yml b/custom_formats/Micro Encode Tier 3.yml new file mode 100644 index 0000000..e965c21 --- /dev/null +++ b/custom_formats/Micro Encode Tier 3.yml @@ -0,0 +1,17 @@ +name: Micro Encode Tier 3 +description: Matches lower-tier micro-encode release groups (TGx, ETHEL) for storage-conscious users +tags: +- Release Group Tier +- Micro +conditions: +- name: TGx + negate: false + pattern: TGx + required: false + type: release_group +- name: ETHEL + negate: false + pattern: ETHEL + required: false + type: release_group +tests: [] diff --git a/profiles/1080p Micro+.yml b/profiles/1080p Micro+.yml new file mode 100644 index 0000000..bc9f51b --- /dev/null +++ b/profiles/1080p Micro+.yml @@ -0,0 +1,218 @@ +name: 1080p Micro+ +description: '1080p Micro+ is an enhanced variant with broader matching for micro-encodes, + ensuring maximum release availability + + + - Prioritizes YTS, YIFY, BONE, GalaxyRG, TGx, ETHEL with additional tiers + + - Fallbacks in Place for Proper Quality Progression + + - 1080p WEB-DL > 1080p Bluray > 720p WEB-DL > 720p Bluray > 480p WEB-DL > DVD + + - Prefers x265/HEVC for better compression + + - More lenient scoring for broader availability' +tags: +- 1080p +- Micro Encode +- Storage Focused +- h265 +- x265 +- Enhanced +upgradesAllowed: true +minCustomFormatScore: 5000 +upgradeUntilScore: 200000 +minScoreIncrement: 1 +custom_formats: +- name: Micro Encode Tier 1 + score: 150000 +- name: Micro Encode Tier 2 + score: 100000 +- name: Micro Encode Tier 3 + score: 80000 +- name: 1080p WEB-DL (h264) + score: 140000 +- name: 720p WEB-DL + score: 100000 +- name: 720p Bluray + score: 80000 +- name: 720p WEBRip + score: 80000 +- name: 720p Quality Tier 1 + score: 45000 +- name: 720p Quality Tier 2 + score: 44000 +- name: 720p Quality Tier 3 + score: 43000 +- name: 720p Quality Tier 4 + score: 42000 +- name: 720p Quality Tier 5 + score: 41000 +- name: 720p Quality Tier 6 + score: 40000 +- name: 480p WEB-DL + score: 60000 +- name: DVD + score: 20000 +- name: DVD Remux + score: 20000 +- name: SD Quality Tier 1 + score: 11000 +- name: SD Quality Tier 2 + score: 10000 +- name: h265 + score: 5000 +- name: x265 + score: 5000 +- name: ATVP + score: 3000 +- name: DSNP + score: 3000 +- name: HMAX + score: 2000 +- name: MAX + score: 2000 +- name: ATV + score: 1000 +- name: NF + score: 1000 +- name: Dolby Digital + + score: 600 +- name: Dolby Digital + score: 200 +- name: Repack3 + score: 8 +- name: Repack2 + score: 7 +- name: Repack1 + score: 6 +- name: AAC + score: 0 +- name: BCORE + score: 0 +- name: CRAV + score: 0 +- name: HTSR + score: 0 +- name: HULU + score: 0 +- name: NOW + score: 0 +- name: PCOK + score: 0 +- name: PMTP + score: 0 +- name: ROKU + score: 0 +- name: SHO + score: 0 +- name: STAN + score: 0 +- name: Foreign Release Groups + score: -900 +- name: AV1 + score: -999999 +- name: Banned Groups (Title) + score: -999999 +- name: Dolby Vision (Without Fallback) + score: -999999 +- name: DTS-HD HRA + score: -999999 +- name: DTS-HD MA + score: -999999 +- name: Dolby Atmos + score: -999999 +- name: FLAC + score: -999999 +- name: Full Disc + score: -999999 +- name: Lossless Audio + score: -999999 +- name: PCM + score: -999999 +- name: Remux + score: -999999 +- name: TrueHD + score: -999999 +- name: UHD Bluray (Efficient) + score: -999999 +- name: VP9 + score: -999999 +- name: VVC + score: -999999 +- name: Xvid + score: -999999 +custom_formats_radarr: +- name: MA + score: 4000 +- name: AMZN + score: 3000 +- name: Better Theatricals + score: 1000 +- name: CRIT + score: 1000 +- name: Special Edition + score: 1000 +- name: 3D + score: -999999 +- name: B&W + score: -999999 +- name: Extras + score: -999999 +- name: Full Disc (Quality Match) + score: -999999 +- name: Remux (Quality Match) + score: -999999 +- name: Sing Along + score: -999999 +- name: Upscale + score: -999999 +custom_formats_sonarr: +- name: Season Pack + score: 10 +- name: AMZN + score: -1000 +- name: Remux (Source) + score: -999999 +- name: TV Extras + score: -999999 +- name: Upscaled + score: -999999 +qualities: +- id: -1 + name: 1080p Micro + description: Micro-encoded 1080p releases prioritizing small file sizes + qualities: + - id: 10 + name: Bluray-1080p + - id: 9 + name: WEBDL-1080p + - id: 11 + name: WEBRip-1080p +- id: -2 + name: 720p Fallback + description: Fallback to 720p when 1080p cannot be found + qualities: + - id: 13 + name: Bluray-720p + - id: 14 + name: WEBDL-720p + - id: 15 + name: WEBRip-720p +- id: -3 + name: SD Fallback + description: Standard Definition Fallbacks + qualities: + - id: 18 + name: Bluray-480p + - id: 19 + name: WEBDL-480p + - id: 20 + name: WEBRip-480p + - id: 22 + name: DVD +upgrade_until: + id: -1 + name: 1080p Micro + description: Micro-encoded 1080p releases prioritizing small file sizes +language: must_original diff --git a/profiles/1080p Micro.yml b/profiles/1080p Micro.yml new file mode 100644 index 0000000..6ba264a --- /dev/null +++ b/profiles/1080p Micro.yml @@ -0,0 +1,197 @@ +name: 1080p Micro +description: '1080p Micro targets highly compressed micro-encodes for storage-conscious + users, prioritizing small file sizes while maintaining acceptable quality + + + - Prioritizes YTS, YIFY, BONE, GalaxyRG, TGx, ETHEL + + - Fallbacks in Place for Proper Quality Progression + + - 1080p WEB-DL > 1080p Bluray > 720p WEB-DL > 720p Bluray > 480p WEB-DL > DVD + + - Prefers x265/HEVC for better compression' +tags: +- 1080p +- Micro Encode +- Storage Focused +- h265 +- x265 +upgradesAllowed: true +minCustomFormatScore: 10000 +upgradeUntilScore: 200000 +minScoreIncrement: 1 +custom_formats: +- name: Micro Encode Tier 1 + score: 150000 +- name: Micro Encode Tier 2 + score: 100000 +- name: Micro Encode Tier 3 + score: 80000 +- name: 1080p WEB-DL (h264) + score: 140000 +- name: 720p WEB-DL + score: 100000 +- name: 720p Bluray + score: 80000 +- name: 720p WEBRip + score: 80000 +- name: 480p WEB-DL + score: 60000 +- name: DVD + score: 20000 +- name: DVD Remux + score: 20000 +- name: h265 + score: 5000 +- name: x265 + score: 5000 +- name: ATVP + score: 3000 +- name: DSNP + score: 3000 +- name: HMAX + score: 2000 +- name: MAX + score: 2000 +- name: ATV + score: 1000 +- name: NF + score: 1000 +- name: Dolby Digital + + score: 600 +- name: Dolby Digital + score: 200 +- name: Repack3 + score: 8 +- name: Repack2 + score: 7 +- name: Repack1 + score: 6 +- name: AAC + score: 0 +- name: BCORE + score: 0 +- name: CRAV + score: 0 +- name: HTSR + score: 0 +- name: HULU + score: 0 +- name: NOW + score: 0 +- name: PCOK + score: 0 +- name: PMTP + score: 0 +- name: ROKU + score: 0 +- name: SHO + score: 0 +- name: STAN + score: 0 +- name: Foreign Release Groups + score: -900 +- name: AV1 + score: -999999 +- name: Banned Groups (Title) + score: -999999 +- name: Dolby Vision (Without Fallback) + score: -999999 +- name: DTS-HD HRA + score: -999999 +- name: DTS-HD MA + score: -999999 +- name: Dolby Atmos + score: -999999 +- name: FLAC + score: -999999 +- name: Full Disc + score: -999999 +- name: Lossless Audio + score: -999999 +- name: PCM + score: -999999 +- name: Remux + score: -999999 +- name: TrueHD + score: -999999 +- name: UHD Bluray (Efficient) + score: -999999 +- name: VP9 + score: -999999 +- name: VVC + score: -999999 +- name: Xvid + score: -999999 +custom_formats_radarr: +- name: MA + score: 4000 +- name: AMZN + score: 3000 +- name: CRIT + score: 1000 +- name: Special Edition + score: 1000 +- name: 3D + score: -999999 +- name: B&W + score: -999999 +- name: Extras + score: -999999 +- name: Full Disc (Quality Match) + score: -999999 +- name: Remux (Quality Match) + score: -999999 +- name: Sing Along + score: -999999 +- name: Upscale + score: -999999 +custom_formats_sonarr: +- name: Season Pack + score: 10 +- name: AMZN + score: -1000 +- name: Remux (Source) + score: -999999 +- name: TV Extras + score: -999999 +- name: Upscaled + score: -999999 +qualities: +- id: -1 + name: 1080p Micro + description: Micro-encoded 1080p releases prioritizing small file sizes + qualities: + - id: 10 + name: Bluray-1080p + - id: 9 + name: WEBDL-1080p + - id: 11 + name: WEBRip-1080p +- id: -2 + name: 720p Fallback + description: Fallback to 720p when 1080p cannot be found + qualities: + - id: 13 + name: Bluray-720p + - id: 14 + name: WEBDL-720p + - id: 15 + name: WEBRip-720p +- id: -3 + name: SD Fallback + description: Standard Definition Fallbacks + qualities: + - id: 18 + name: Bluray-480p + - id: 19 + name: WEBDL-480p + - id: 20 + name: WEBRip-480p + - id: 22 + name: DVD +upgrade_until: + id: -1 + name: 1080p Micro + description: Micro-encoded 1080p releases prioritizing small file sizes +language: must_original diff --git a/profiles/720p Micro.yml b/profiles/720p Micro.yml new file mode 100644 index 0000000..8e51ac6 --- /dev/null +++ b/profiles/720p Micro.yml @@ -0,0 +1,185 @@ +name: 720p Micro +description: '720p Micro targets highly compressed micro-encodes for extreme storage + constraints, prioritizing minimal file sizes + + + - Prioritizes YTS, YIFY, BONE, GalaxyRG, TGx, ETHEL + + - Fallbacks in Place for Proper Quality Progression + + - 720p WEB-DL > 720p Bluray > 480p WEB-DL > DVD + + - Prefers x265/HEVC for better compression' +tags: +- 720p +- Micro Encode +- Storage Focused +- h265 +- x265 +upgradesAllowed: true +minCustomFormatScore: 10000 +upgradeUntilScore: 200000 +minScoreIncrement: 1 +custom_formats: +- name: Micro Encode Tier 1 + score: 150000 +- name: Micro Encode Tier 2 + score: 100000 +- name: Micro Encode Tier 3 + score: 80000 +- name: 720p WEB-DL + score: 100000 +- name: 720p Bluray + score: 80000 +- name: 720p WEBRip + score: 80000 +- name: 480p WEB-DL + score: 60000 +- name: DVD + score: 20000 +- name: DVD Remux + score: 20000 +- name: h265 + score: 5000 +- name: x265 + score: 5000 +- name: ATVP + score: 3000 +- name: DSNP + score: 3000 +- name: HMAX + score: 2000 +- name: MAX + score: 2000 +- name: ATV + score: 1000 +- name: NF + score: 1000 +- name: Dolby Digital + + score: 600 +- name: Dolby Digital + score: 200 +- name: Repack3 + score: 8 +- name: Repack2 + score: 7 +- name: Repack1 + score: 6 +- name: AAC + score: 0 +- name: BCORE + score: 0 +- name: CRAV + score: 0 +- name: HTSR + score: 0 +- name: HULU + score: 0 +- name: NOW + score: 0 +- name: PCOK + score: 0 +- name: PMTP + score: 0 +- name: ROKU + score: 0 +- name: SHO + score: 0 +- name: STAN + score: 0 +- name: Foreign Release Groups + score: -900 +- name: AV1 + score: -999999 +- name: Banned Groups (Title) + score: -999999 +- name: Dolby Vision (Without Fallback) + score: -999999 +- name: DTS-HD HRA + score: -999999 +- name: DTS-HD MA + score: -999999 +- name: Dolby Atmos + score: -999999 +- name: FLAC + score: -999999 +- name: Full Disc + score: -999999 +- name: Lossless Audio + score: -999999 +- name: PCM + score: -999999 +- name: Remux + score: -999999 +- name: TrueHD + score: -999999 +- name: UHD Bluray (Efficient) + score: -999999 +- name: VP9 + score: -999999 +- name: VVC + score: -999999 +- name: Xvid + score: -999999 +custom_formats_radarr: +- name: MA + score: 4000 +- name: AMZN + score: 3000 +- name: CRIT + score: 1000 +- name: Special Edition + score: 1000 +- name: 3D + score: -999999 +- name: B&W + score: -999999 +- name: Extras + score: -999999 +- name: Full Disc (Quality Match) + score: -999999 +- name: Remux (Quality Match) + score: -999999 +- name: Sing Along + score: -999999 +- name: Upscale + score: -999999 +custom_formats_sonarr: +- name: Season Pack + score: 10 +- name: AMZN + score: -1000 +- name: Remux (Source) + score: -999999 +- name: TV Extras + score: -999999 +- name: Upscaled + score: -999999 +qualities: +- id: -1 + name: 720p Micro + description: Micro-encoded 720p releases prioritizing minimal file sizes + qualities: + - id: 13 + name: Bluray-720p + - id: 14 + name: WEBDL-720p + - id: 15 + name: WEBRip-720p +- id: -2 + name: SD Fallback + description: Standard Definition Fallbacks + qualities: + - id: 18 + name: Bluray-480p + - id: 19 + name: WEBDL-480p + - id: 20 + name: WEBRip-480p + - id: 22 + name: DVD +upgrade_until: + id: -1 + name: 720p Micro + description: Micro-encoded 720p releases prioritizing minimal file sizes +language: must_original diff --git a/regex_patterns/BONE.yml b/regex_patterns/BONE.yml new file mode 100644 index 0000000..e80112b --- /dev/null +++ b/regex_patterns/BONE.yml @@ -0,0 +1,7 @@ +name: BONE +pattern: (?<=^|[\s.-])BONE\b +description: Matches "BONE" when preceded by whitespace, a hyphen or dot +tags: +- Release Group +- HEVC +tests: [] diff --git a/regex_patterns/ETHEL.yml b/regex_patterns/ETHEL.yml new file mode 100644 index 0000000..aa1b1f4 --- /dev/null +++ b/regex_patterns/ETHEL.yml @@ -0,0 +1,7 @@ +name: ETHEL +pattern: (?<=^|[\s.-])ETHEL\b +description: Matches "ETHEL" when preceded by whitespace, a hyphen or dot +tags: +- Release Group +- HEVC +tests: [] diff --git a/regex_patterns/GalaxyRG.yml b/regex_patterns/GalaxyRG.yml new file mode 100644 index 0000000..5c5a23e --- /dev/null +++ b/regex_patterns/GalaxyRG.yml @@ -0,0 +1,7 @@ +name: GalaxyRG +pattern: (?<=^|[\s.-])GalaxyRG\b +description: Matches "GalaxyRG" when preceded by whitespace, a hyphen or dot +tags: +- Release Group +- HEVC +tests: [] diff --git a/regex_patterns/TGx.yml b/regex_patterns/TGx.yml new file mode 100644 index 0000000..5d1b540 --- /dev/null +++ b/regex_patterns/TGx.yml @@ -0,0 +1,7 @@ +name: TGx +pattern: (?<=^|[\s.-])TGx\b +description: Matches "TGx" when preceded by whitespace, a hyphen or dot +tags: +- Release Group +- HEVC +tests: []