Merge branch 'master' into backend-maintenance-test-v2

pull/727/head
TRaSH 2 years ago
commit e58e134d7a

@ -0,0 +1,25 @@
name: Validate Metadata JSON
on:
push:
paths:
- metadata.json
- metadata.schema.json
- .github/workflows/metadata-validation.yml
pull_request:
paths:
- metadata.json
- metadata.schema.json
- .github/workflows/metadata-validation.yml
jobs:
validate:
runs-on: ubuntu-latest
name: Validate metadata.json
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: "3.x"
- run: pip install jsonschema
- run: jsonschema -i metadata.json metadata.schema.json

@ -7,4 +7,4 @@ nav:
- Plex
- Misc
- Hardlinks
- How-to-setup-for
- How-to-setup-for: Hardlinks/How-to-setup-for

@ -12,11 +12,11 @@ In this example the mounted drive will be mounted to `/mnt/` with the following
```none
storage
├── downloads
| ├── torrents
| ├── movies
| ├── music
| └── tv
| └── usenet
├── torrents
├── movies
├── music
└── tv
└── usenet
│ ├── movies
│ ├── music
│ └── tv

@ -5,8 +5,8 @@ This is all done in a way to achieve [Hardlinks and Instant Moves (Atomic-Moves)
Select your desired method of installation:
- [Docker](/How-to-setup-for/Docker/)
- [Dockstarter](/How-to-setup-for/Dockstarter/)
- [Native](/How-to-setup-for/Native/)
- [Synology](/How-to-setup-for/Synology/)
- [Unraid](/How-to-setup-for/Unraid/)
- [Docker](/Hardlinks/How-to-setup-for/Docker/)
- [Dockstarter](/Hardlinks/How-to-setup-for/Dockstarter/)
- [Native](/Hardlinks/How-to-setup-for/Native/)
- [Synology](/Hardlinks/How-to-setup-for/Synology/)
- [Unraid](/Hardlinks/How-to-setup-for/Unraid/)

@ -1 +0,0 @@
Hardlinks/How-to-setup-for

@ -32,48 +32,48 @@ I also made 3 guides related to this one.
------
| Audio Advanced #1 | Audio Advanced #2 | Audio Channels | HDR Metadata |
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
| [TrueHD ATMOS](#truehd-atmos) | [FLAC](#flac) | [1.0 Mono](#10-mono) | [DV HDR10](#dv-hdr10) |
| [DTS X](#dts-x) | [PCM](#pcm) | [2.0 Stereo](#20-stereo) | [DV](#dv) |
| [ATMOS (undefined)](#atmos-undefined) | [DTS-HD HRA](#dts-hd-hra) | [3.0 Sound](#30-sound) | [DV HLG](#dv-hlg) |
| [DD+ ATMOS](#ddplus-atmos) | [AAC](#aac) | [4.0 Sound](#40-sound) | [DV SDR](#dv-sdr) |
| [TrueHD](#truehd) | [DD](#dd) | [5.1 Surround](#51-surround) | [HDR10+](#hdr10plus) |
| [DTS-HD MA](#dts-hd-ma) | [MP3](#mp3) | [6.1 Surround](#61-surround) | [HDR10](#hdr10) |
| [DD+](#ddplus) | [Opus](#opus) | [7.1 Surround](#71-surround) | [HDR](#hdr) |
| [DTS-ES](#dts-es) | | [9.1 Surround](#91-surround) | [HDR (undefined)](#hdr-undefined) |
| [DTS](#dts) | | | [PQ](#pq) |
| | | | [HLG](#hlg) |
------
| Movie Versions | Unwanted | HQ Source Groups | Streaming Services |
| ----------------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
| [Hybrid](#hybrid) | [BR-DISK](#br-disk) | [HQ-Remux](#hq-remux) | [Amazon](#amzn) |
| [Remaster](#remaster) | [EVO (no WEBDL)](#evo-no-webdl) | [HQ](#hq) | [Apple TV+](#aptv) |
| [4K Remaster](#4k-remaster) | [LQ](#lq) | [HQ-WEBDL](#hq-webdl) | [Disney+](#dsnp) |
| [Special Editions](#special-edition) | [3D](#3d) | | [HBO Max](#hmax) |
| [Criterion Collection](#criterion-collection) | [No-RlsGroup](#no-rlsgroup) | | [Hulu](#hulu) |
| [Theatrical Cut](#theatrical-cut) | [Obfuscated](#obfuscated) | | [Netflix](#nf) |
| [IMAX](#imax) | [Retags](#retags) | | [Peacock TV](#pcok) |
| [IMAX Enhanced](#imax-enhanced) | [DV (WEBDL)](#dv-webdl) | | [Paramount+](#pmtp) |
| | [Bad Dual Groups](#bad-dual-groups) | | [Movies Anywhere](#ma) |
| | [x265 (720/1080p)](#x265-7201080p) | | |
| | [x265 (no HDR/DV)](#x265-no-hdrdv) | | |
------
| Misc | Place holder 11 | Place holder 2 | Place holder 3 |
| -------------------------------------- | -------------------------------------- | -------------------------------------- | -------------------------------------- |
| [Repack/Proper](#repack-proper) | Place holder 1 | Place holder 2 | Place holder 3 |
| [Repack2](#repack2) | Place holder 1 | Place holder 2 | Place holder 3 |
| [Multi](#multi) | Place holder 1 | Place holder 2 | Place holder 3 |
| [x264](#x264) | Place holder 1 | Place holder 2 | Place holder 3 |
| [x265](#x265) | Place holder 1 | Place holder 2 | Place holder 3 |
| [MPEG2](#mpeg2) | Place holder 1 | Place holder 2 | Place holder 3 |
| [FreeLeech](#freeleech) | Place holder 1 | Place holder 2 | Place holder 3 |
| [Dutch Groups](#dutch-groups) | Place holder 1 | Place holder 2 | Place holder 3 |
| [Anime Dual Audio](#anime-dual-audio) | Place holder 1 | Place holder 2 | Place holder 3 |
| Audio Advanced #1 | Audio Advanced #2 | Audio Channels | HDR Metadata |
| ------------------------------------- | ------------------------- | ---------------------------- | --------------------------------- |
| [TrueHD ATMOS](#truehd-atmos) | [FLAC](#flac) | [1.0 Mono](#10-mono) | [DV HDR10](#dv-hdr10) |
| [DTS X](#dts-x) | [PCM](#pcm) | [2.0 Stereo](#20-stereo) | [DV](#dv) |
| [ATMOS (undefined)](#atmos-undefined) | [DTS-HD HRA](#dts-hd-hra) | [3.0 Sound](#30-sound) | [DV HLG](#dv-hlg) |
| [DD+ ATMOS](#ddplus-atmos) | [AAC](#aac) | [4.0 Sound](#40-sound) | [DV SDR](#dv-sdr) |
| [TrueHD](#truehd) | [DD](#dd) | [5.1 Surround](#51-surround) | [HDR10+](#hdr10plus) |
| [DTS-HD MA](#dts-hd-ma) | [MP3](#mp3) | [6.1 Surround](#61-surround) | [HDR10](#hdr10) |
| [DD+](#ddplus) | [Opus](#opus) | [7.1 Surround](#71-surround) | [HDR](#hdr) |
| [DTS-ES](#dts-es) | | [9.1 Surround](#91-surround) | [HDR (undefined)](#hdr-undefined) |
| [DTS](#dts) | | | [PQ](#pq) |
| | | | [HLG](#hlg) |
------
| Movie Versions | Unwanted | HQ Source Groups | Streaming Services |
| --------------------------------------------- | ----------------------------------- | --------------------- | ---------------------- |
| [Hybrid](#hybrid) | [BR-DISK](#br-disk) | [HQ-Remux](#hq-remux) | [Amazon](#amzn) |
| [Remaster](#remaster) | [EVO (no WEBDL)](#evo-no-webdl) | [HQ](#hq) | [Apple TV+](#aptv) |
| [4K Remaster](#4k-remaster) | [LQ](#lq) | [HQ-WEBDL](#hq-webdl) | [Disney+](#dsnp) |
| [Special Editions](#special-edition) | [3D](#3d) | | [HBO Max](#hmax) |
| [Criterion Collection](#criterion-collection) | [No-RlsGroup](#no-rlsgroup) | | [Hulu](#hulu) |
| [Theatrical Cut](#theatrical-cut) | [Obfuscated](#obfuscated) | | [Netflix](#nf) |
| [IMAX](#imax) | [Retags](#retags) | | [Peacock TV](#pcok) |
| [IMAX Enhanced](#imax-enhanced) | [DV (WEBDL)](#dv-webdl) | | [Paramount+](#pmtp) |
| | [Bad Dual Groups](#bad-dual-groups) | | [Movies Anywhere](#ma) |
| | [x265 (720/1080p)](#x265-7201080p) | | |
| | [x265 (no HDR/DV)](#x265-no-hdrdv) | | |
------
| Misc |   |   |   |
| ------------------------------------- | ------ | ------ | ------ |
| [Repack/Proper](#repack-proper) |   |   |   |
| [Repack2](#repack2) |   |   |   |
| [Multi](#multi) |   |   |   |
| [x264](#x264) |   |   |   |
| [x265](#x265) |   |   |   |
| [MPEG2](#mpeg2) |   |   |   |
| [FreeLeech](#freeleech) |   |   |   |
| [Dutch Groups](#dutch-groups) |   |   |   |
| [Anime Dual Audio](#anime-dual-audio) |   |   |   |
## Audio Advanced

@ -497,7 +497,7 @@ Add this to your `Must not contain (2)`
Add this to your `Must not contain (2)`
```bash
/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\b|-GGEZ\b|-GGWP\b|-GLHF\b|-KOGI\b)).*/i
/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\b|-GGEZ\b|-GGWP\b|-GLHF\b|-GOSSIP\b|-KOGI\b|-PECULATE\b)).*/i
```

@ -1,75 +1,4 @@
# How to Merge Quality
The current logic on how downloads are compared is **Quality Trumps All** :bangbang:
In some cases it might be preferred to not have Quality Trump All, and let it be handled via Preferred Words / Custom Formats.
To accomplish this you will need to merge the qualities with each other.
## Current Logic
Here you will see the current logic so you understand how the possible downloads are compared.
As of 2021-11-06 the logic is as follows:
### Radarr current logic
??? summary "Radarr current logic- [CLICK TO EXPAND]"
1. Quality
1. Custom Format Score
1. Protocol
1. Indexer Priority
1. Indexer Flags
1. Seeds/Peers (If Torrent)
1. Age (If Usenet)
1. Size
[Source: Wiki Servarr](https://wiki.servarr.com/radarr/faq#how-are-possible-downloads-compared){:target="_blank" rel="noopener noreferrer"}
!!! attention ""
REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality.
`Settings` => `Media Management` => `File Management` => `Proper & Repacks` Change to `Do Not Prefer` and use the [Repack/Proper Custom Format](/Radarr/Radarr-collection-of-custom-formats/#repack-proper){:target="_blank" rel="noopener noreferrer"}
### Sonarr current logic
??? summary "Sonarr current logic- [CLICK TO EXPAND]"
1. Quality
1. Language
1. Preferred Word Score
1. Protocol
1. Episode Count
1. Episode Number
1. Indexer Priority
1. Seeds/Peers (If Torrent)
1. Age (If Usenet)
1. Size
[Source: Wiki Servarr](https://wiki.servarr.com/sonarr/faq#how-are-possible-downloads-compared){:target="_blank" rel="noopener noreferrer"}
!!! attention ""
REPACKS and PROPERs are v2 of Qualities and thus rank above a non-repack of the same quality.
`Settings` => `Media Management` => `File Management` => `Proper & Repacks` Change to `Do Not Prefer` and use a preferred word regex of `/\b(repack|proper)\b/i`
## Merge the Qualities
Go to your preferred Quality Profile or create a new one.
`Settings` => `Profiles`
In this example we will merge the following qualities together:
- Bluray-720p
- Bluray-1080p
- WEBDL/WEBRip-1080p
To merge them you need to click on Edit Groups.
![!Merge Qualities](images/merge.gif)
When done Sonarr/Radarr upgrades will be handled via Preferred Words / Custom Formats.
--8<-- "includes/support.md"
{%
include-markdown '../../Radarr/Tips/Merge-quality.md'
rewrite_relative_urls=true
%}

@ -1 +0,0 @@
../../Radarr/Tips/Sync-2-radarr-sonarr.md

@ -0,0 +1,4 @@
{%
include-markdown '../../Radarr/Tips/Sync-2-radarr-sonarr.md'
rewrite_relative_urls=true
%}

@ -1 +0,0 @@
../../Radarr/Tips/images

@ -0,0 +1,17 @@
{
"trash_id": "0a3f082873eb454bde444150b70253cc",
"trash_score": "-10000",
"name": "Extras",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Extras",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": true,
"fields": {
"value": "(?<=\\b[12]\\d{3}\\b).*\\b(Extras)\\b"
}
}
]
}

@ -58,6 +58,15 @@
"value": "\\bCMRG\\b"
}
},
{
"name": "CRFW",
"implementation": "ReleaseTitleSpecification",
"negate": false,
"required": false,
"fields": {
"value": "\\bCRFW\\b"
}
},
{
"name": "CRUD",
"implementation": "ReleaseTitleSpecification",

@ -58,6 +58,15 @@
"value": "CMRG\\b"
}
},
{
"name": "CRFW",
"implementation": "ReleaseGroupSpecification",
"negate": false,
"required": false,
"fields": {
"value": "CRFW\\b"
}
},
{
"name": "CRUD",
"implementation": "ReleaseGroupSpecification",

@ -16,7 +16,7 @@
}, {
"name": "Ignore so called scene releases",
"trash_id": "5bc23c3a055a1a5d8bbe4fb49d80e0cb",
"term": "/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\\b|-GGEZ\\b|-GGWP\\b|-GLHF\\b|-KOGI\\b)).*/i"
"term": "/^(?!.*(web[ ]dl|-deflate|-inflate))(?=.*([_. ]WEB[_. ]|-CAKES\\b|-GGEZ\\b|-GGWP\\b|-GLHF\\b|-GOSSIP\\b|-KOGI\\b|-PECULATE\\b)).*/i"
}, {
"name": "Dislike Bad Dual Audio Groups",
"trash_id": "538bad00ee6f8aced8e0db5218b8484c",

@ -5,4 +5,4 @@ mkdocs-macros-plugin==0.7.0
mkdocs-material==8.3.9
mkdocs-minify-plugin==0.5.0
mkdocs-redirects==1.0.5
mkdocs-include-markdown-plugin==3.6.1

@ -0,0 +1,38 @@
.headerlink {
--permalink-size: 20px; /* for font-relative sizes, 0.6em is a good choice */
--permalink-spacing: 4px;
width: calc(var(--permalink-size) + var(--permalink-spacing));
height: var(--permalink-size);
vertical-align: middle;
background-color: var(--md-default-fg-color--lighter);
background-size: var(--permalink-size);
mask-size: var(--permalink-size);
-webkit-mask-size: var(--permalink-size);
mask-repeat: no-repeat;
-webkit-mask-repeat: no-repeat;
visibility: visible;
mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg>');
-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="16" height="16" aria-hidden="true"><path fill-rule="evenodd" d="M7.775 3.275a.75.75 0 001.06 1.06l1.25-1.25a2 2 0 112.83 2.83l-2.5 2.5a2 2 0 01-2.83 0 .75.75 0 00-1.06 1.06 3.5 3.5 0 004.95 0l2.5-2.5a3.5 3.5 0 00-4.95-4.95l-1.25 1.25zm-4.69 9.64a2 2 0 010-2.83l2.5-2.5a2 2 0 012.83 0 .75.75 0 001.06-1.06 3.5 3.5 0 00-4.95 0l-2.5 2.5a3.5 3.5 0 004.95 4.95l1.25-1.25a.75.75 0 00-1.06-1.06l-1.25 1.25a2 2 0 01-2.83 0z"></path></svg>');
}
[id]:target .headerlink {
background-color: var(--md-typeset-a-color);
}
.headerlink:hover {
background-color: var(--md-accent-fg-color) !important;
}
@media screen and (min-width: 76.25em) {
h1, h2, h3, h4, h5, h6 {
display: flex;
align-items: center;
flex-direction: row;
}
.headerlink {
order: -1;
margin-left: calc(var(--permalink-size) * -1 - var(--permalink-spacing)) !important;
}
}

@ -1,5 +1,5 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$schema": "https://json-schema.org/draft-07/schema",
"$id": "https://raw.githubusercontent.com/TRaSH-/Guides/master/metadata.schema.json",
"type": "object",
"additionalProperties": false,
@ -9,8 +9,8 @@
"type": "object",
"additionalProperties": false,
"properties": {
"radarr": "#/$defs/radarr",
"sonarr": "#/$defs/sonarr"
"radarr": { "$ref": "#/$defs/radarr" },
"sonarr": { "$ref": "#/$defs/sonarr" }
}
}
},
@ -27,14 +27,14 @@
"type": "object",
"additionalProperties": false,
"properties": {
"custom_formats": "#/$defs/custom_formats"
"custom_formats": { "$ref": "#/$defs/custom_formats" }
}
},
"sonarr": {
"type": "object",
"additionalProperties": false,
"properties": {
"release_profiles": "#/$defs/release_profiles"
"release_profiles": { "$ref": "#/$defs/release_profiles" }
}
}
}

@ -20,6 +20,7 @@ extra:
extra_css:
- stylesheets/extra.css
- stylesheets/github-permalink-style.css
markdown_extensions:
- admonition
@ -36,14 +37,14 @@ markdown_extensions:
- codehilite:
guess_lang: true
- toc:
permalink: ""
permalink: ""
toc_depth: 5
- pymdownx.emoji:
emoji_index: !!python/name:materialx.emoji.twemoji
emoji_generator: !!python/name:materialx.emoji.to_svg
plugins:
- include-markdown:
- search
- git-revision-date-localized:
type: datetime
@ -84,6 +85,13 @@ plugins:
NZBGet/scripts/index.md: Downloaders/NZBGet/scripts/index.md
# Hardlinks old redirects
Misc/how-to-set-up-hardlinks-and-atomic-moves.md: Hardlinks/Hardlinks-and-Instant-Moves.md
# How to old redirects
How-to-setup-for/index.md: Hardlinks/How-to-setup-for/index.md
How-to-setup-for/Docker.md: Hardlinks/How-to-setup-for/Docker.md
How-to-setup-for/Dockstarter.md: Hardlinks/How-to-setup-for/Dockstarter.md
How-to-setup-for/Native.md: Hardlinks/How-to-setup-for/Native.md
How-to-setup-for/Synology.md: Hardlinks/How-to-setup-for/Synology.md
How-to-setup-for/Unraid.md: Hardlinks/How-to-setup-for/Unraid.md
# Shortcuts redirects
hardlinks.md: Hardlinks/Hardlinks-and-Instant-Moves.md
hardlink.md: Hardlinks/Hardlinks-and-Instant-Moves.md

Loading…
Cancel
Save