Merge branch 'master' into dockerwording

pull/1085/head
TRaSH 2 years ago committed by GitHub
commit c49ff710b5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,11 +8,11 @@ jobs:
name: Build docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
- uses: actions/setup-python@v4.4.0
with:
python-version: 3.x
- uses: actions/cache@v3.2.2
- uses: actions/cache@v3.2.3
with:
key: ${{ github.ref }}
path: .cache
@ -25,13 +25,13 @@ jobs:
name: Deploy docs
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
with:
fetch-depth: '0'
- uses: actions/setup-python@v4.4.0
with:
python-version: 3.x
- uses: actions/cache@v3.2.2
- uses: actions/cache@v3.2.3
with:
key: ${{ github.ref }}
path: .cache

@ -7,7 +7,7 @@ jobs:
editorconfig-checker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
- name: editorconfig-checker
run: |
docker run --rm \
@ -17,7 +17,7 @@ jobs:
markdownlint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
- name: markdownlint
run: |
find "${GITHUB_WORKSPACE}" -name '*.md' -exec \
@ -30,7 +30,7 @@ jobs:
yamllint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
- name: yamllint
run: |
find "${GITHUB_WORKSPACE}" -name '*.yaml' -o -name '*.yml' -exec \

@ -17,7 +17,7 @@ jobs:
runs-on: ubuntu-latest
name: Validate metadata.json
steps:
- uses: actions/checkout@v3.2.0
- uses: actions/checkout@v3.3.0
- uses: actions/setup-python@v4.4.0
with:
python-version: "3.x"

@ -65,7 +65,7 @@ For Jellyfin/Emby:
## Original Title vs Original Filename
Another option is to use `{Original Title}` rather than the recommeneded naming scheme outlined aboove. `{Original Title}` will use the title of the release which will contain all of the information included in the release itself. The benefit of this naming scheme is to prevent download loops which can occur on import when there is a discrepancy in the release title compared to the contents of the file itself (for example, if the release title says DTS-ES but the contents are actually DTS). The downside is less flexibility with how the files are named.
Another option is to use `{Original Title}` rather than the recommeneded naming scheme outlined above. `{Original Title}` will use the title of the release which will contain all of the information included in the release itself. The benefit of this naming scheme is to prevent download loops which can occur on import when there is a discrepancy in the release title compared to the contents of the file itself (for example, if the release title says DTS-ES but the contents are actually DTS). The downside is less flexibility with how the files are named.
If using this alternate naming scheme I suggest using `{Original Title}` over `{Original Filename}`

@ -0,0 +1,190 @@
# How to setup Language Custom Formats
Here we will explain how to setup your own preferred language Custom Format, with a few examples.
!!! warning "Using language Custom Formats is not compatible with setting a preferred language in a quality profile in Radarr. You must use one or the other.<br>If you want to make use of the Custom Formats set the preferred language to `Any`."
## Language Examples
Import the JSON in to your Custom Formats.
How ?
Follow the [How to import Custom Formats](/Radarr/Radarr-import-custom-formats/){:target="_blank" rel="noopener noreferrer"}.
---
### Language: Original Only
<sub><sub>Language: Not Original</sub>
This is one of the most common one used besides the English only one.
With this Custom Format you will get only the Movie/TV Show with the original language.
For this we're going to make use of so called reverse scoring.
Add the following json to your Radarr/Sonarr with a score of `-10000`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-not-original.json' %]][[% endfilter %]]
```
---
### Language: English Only
<sub><sub>Language: Not English</sub>
With this Custom Format you will only get the Movie/TV Show in the English language.
!!! info "For languages other than English, replace the English condition with language of your choice."
For this we're going to make use of so called reverse scoring.
Add the following json to your Radarr/Sonarr with a score of `-10000`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-not-english.json' %]][[% endfilter %]]
```
---
### Language: Multiple Only
<sub><sub>Language: Not Dutch</sub>
In some case you need multiple languages in your Custom Format for different reasons,
in this example I will use Dutch and Flemish being a lot of Movies/TV Shows are collaborate made between the 2 countries/studio's.
With this Custom Format you will only get the Movie/TV Show with Dutch and/or Flemish Audio.
!!! info "For languages other than Dutch/Flemish, replace the Dutch/Flemish condition with language of your choice."
For this we're going to make use of so called reverse scoring.
Add the following json to your Radarr/Sonarr with a score of `-10000`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-not-dutch.json' %]][[% endfilter %]]
```
---
### Language: Prefer X but i'll take Y
<sub><sub>Language: Not Original or German</sub>
<sub><sub>Language: Prefer German</sub>
Let's say you want German, but if German is not available then fall back to Original language but don't accept any other translated languages.
!!! info "For languages other than German, replace the German condition with language of your choice."
Add the following json to your Radarr/Sonarr with a score of `-10000`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-not-original-or-german.json' %]][[% endfilter %]]
```
Add the following json to your Radarr/Sonarr with a score of `10`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-prefer-german.json' %]][[% endfilter %]]
```
---
### Language: Prefer Language X
<sub><sub>Language: Prefer German</sub>
Let's say you just want to prefer German and don't care if you get another random language(s).
!!! info "For languages other than German, replace the German condition with language of your choice."
Add the following json to your Radarr/Sonarr with a score of `10`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-prefer-german.json' %]][[% endfilter %]]
```
---
### Language: Prefer Multi Language
<sub><sub>Language: Prefer Dutch</sub>
In some case you may want prefer multiple languages in your Custom Format.
With this Custom Format you will only get the Movie/TV Show with either Preferred Language.
In this example I will use Dutch and Flemish since a lot of Movies/TV Shows since there is a lot of collaboration between the two countries/studio's.
!!! info "For languages other than Dutch/Flemish, replace the Dutch/Flemish condition with language of your choice."
Add the following json to your Radarr/Sonarr with a score of `10`.
??? example "JSON - [CLICK TO EXPAND]"
```json
[[% filter indent(width=4) %]][[% include 'json/guide-only/language-prefer-dutch.json' %]][[% endfilter %]]
```
---
## FAQ & INFO
### What's reverse scoring
??? FAQ "What's reverse scoring? - [CLICK TO EXPAND]"
With reverse scoring you add a Custom Format with a score of `-10000` and your preferred condition you negate.
So in the case of the following Custom Format `Language: Original Only`, it will actually match all Not Original releases and give it a score of `-10000`.
### Prefer language X over language Y
??? FAQ "Prefer language X over language Y - [CLICK TO EXPAND]"
If you want to prefer Prefer language X over language Y,
you add for example: `Language: Prefer Language X` with a score of `10`, and add `Language: Prefer Language Y` with score of `9`.
Which scores you should use depends on how important the language is compared to other Custom Formats you're using.
### What's Original Language
??? FAQ "What's Original Language? - [CLICK TO EXPAND]"
Original Language is the language in which a Movie/TV Show was originally made.
### Where does Radarr get the Original Language from
??? FAQ "Where does Radarr get the Original Language from? - [CLICK TO EXPAND]"
Radarr makes use of [The Movie Database (TMDB)](https://www.themoviedb.org/){:target="_blank" rel="noopener noreferrer"}.
![!The Movie Database (TMDB) Original Language](images/original-language-tmdb.png)
### Where does Sonarr get the Original Language from
??? FAQ "Where does Sonarr get the Original Language from? - [CLICK TO EXPAND]"
Sonarr makes use of [TheTVDB](https://thetvdb.com/){:target="_blank" rel="noopener noreferrer"}.
![!TheTVDB Original Language](images/original-language-tvdb.png)
--8<-- "includes/support.md"

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -80,4 +80,11 @@ I only do WEB-DL myself for TV shows because in my opinion WEB-DL is the sweet s
| {{ sonarr['quality-size']['anime']['qualities'][17]['quality'] }} | {{ sonarr['quality-size']['anime']['qualities'][17]['min'] }} | {{ sonarr['quality-size']['anime']['qualities'][17]['max'] }} |
| {{ sonarr['quality-size']['anime']['qualities'][18]['quality'] }} | {{ sonarr['quality-size']['anime']['qualities'][18]['min'] }} | {{ sonarr['quality-size']['anime']['qualities'][18]['max'] }} |
!!! note
The reason why you don't see the `Preferred` score in the table above is because we want max quality anyway. So set it as high as possible.
The highest preferred quality you can manually enter is 1 less than the Maximum quality. If you use the slider, the preferred quality can be up to 5 lesser than the Maximum quality.
Make sure you have enabled 'Show Advanced' in Sonarr, if you don't see a provision to enter the scores, under the Quality settings.
--8<-- "includes/support.md"

@ -146,7 +146,7 @@ RESULTS:
## Original Title vs Original Filename
Another option is to use `{Original Title}` rather than the recommeneded naming scheme outlined aboove. `{Original Title}` will use the title of the release which will contain all of the information included in the release itself. The benefit of this naming scheme is to prevent download loops which can occur on import when there is a discrepancy in the release title compared to the contents of the file itself (for example, if the release title says DTS-ES but the contents are actually DTS). The downside is less flexibility with how the files are named.
Another option is to use `{Original Title}` rather than the recommeneded naming scheme outlined above. `{Original Title}` will use the title of the release which will contain all of the information included in the release itself. The benefit of this naming scheme is to prevent download loops which can occur on import when there is a discrepancy in the release title compared to the contents of the file itself (for example, if the release title says DTS-ES but the contents are actually DTS). The downside is less flexibility with how the files are named.
If using this alternate naming scheme I suggest using `{Original Title}` over `{Original Filename}`

@ -0,0 +1,4 @@
{!
include-markdown '../../Radarr/Tips/How-to-setup-language-custom-formats.md'
rewrite_relative_urls=true
!}

@ -0,0 +1,27 @@
{
"trash_id": "guide-only",
"trash_score": "-10000",
"trash_description": "Language: Multiple Only",
"name": "Language: Not Dutch",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Not Dutch Language",
"implementation": "LanguageSpecification",
"negate": true,
"required": true,
"fields": {
"value": 7
}
},
{
"name": "Not Flemish Language",
"implementation": "LanguageSpecification",
"negate": true,
"required": true,
"fields": {
"value": 19
}
}
]
}

@ -0,0 +1,18 @@
{
"trash_id": "guide-only",
"trash_score": "-10000",
"trash_description": "Language: English Only",
"name": "Language: Not English",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Not English Language",
"implementation": "LanguageSpecification",
"negate": true,
"required": false,
"fields": {
"value": 1
}
}
]
}

@ -0,0 +1,27 @@
{
"trash_id": "guide-only",
"trash_score": "-10000",
"trash_description": "Language: Prefer X but i'll take Y",
"name": "Language: Not Original or German",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Not Original",
"implementation": "LanguageSpecification",
"negate": true,
"required": true,
"fields": {
"value": -2
}
},
{
"name": "Not German",
"implementation": "LanguageSpecification",
"negate": true,
"required": true,
"fields": {
"value": 4
}
}
]
}

@ -0,0 +1,18 @@
{
"trash_id": "guide-only",
"trash_score": "-10000",
"trash_description": "Language: Original Only",
"name": "Language: Not Original",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Not Original Language",
"implementation": "LanguageSpecification",
"negate": true,
"required": false,
"fields": {
"value": -2
}
}
]
}

@ -0,0 +1,27 @@
{
"trash_id": "guide-only",
"trash_score": "10",
"trash_description": "Prefer Multiple",
"name": "Language: Prefer Dutch",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "Dutch Language",
"implementation": "LanguageSpecification",
"negate": false,
"required": false,
"fields": {
"value": 7
}
},
{
"name": "Flemish Language",
"implementation": "LanguageSpecification",
"negate": false,
"required": false,
"fields": {
"value": 19
}
}
]
}

@ -0,0 +1,18 @@
{
"trash_id": "guide-only",
"trash_score": "10",
"trash_description": "Prefer Language X",
"name": "Language: Prefer German",
"includeCustomFormatWhenRenaming": false,
"specifications": [
{
"name": "German Language",
"implementation": "LanguageSpecification",
"negate": false,
"required": false,
"fields": {
"value": 4
}
}
]
}

@ -10,7 +10,7 @@
"negate": false,
"required": true,
"fields": {
"value": "^(?!.*\\b((?<!HD[._ -]|HD)DVD|BDRip|MKV|XviD|WMV|d3g|BDREMUX|REMUX|^(?=.*1080p)(?=.*HEVC)|[xh][-_. ]?26[45]|German.*DL|((?<=\\d{4}).*German.*(DL)?)(?=.*\\b(AVC|HEVC|VC[-_. ]?1|MVC|MPEG[-_. ]?2)\\b))\\b)(((?=.*(Blu[-_. ]?ray|BD|HD[-_. ]?DVD)\\b)(?=.*\\b(AVC|HEVC|VC[-_. ]?1|MVC|MPEG[-_. ]?2|BDMV|ISO)\\b))|^((?=.*\\b(^((?=.*\\b((.*_)?COMPLETE.*|Dis[ck])\\b)(?=.*(Blu[-_. ]?ray|HD[-_. ]?DVD)))|3D[-_. ]?BD|BR[-_. ]?DISK|Full[-_. ]?Blu[-_. ]?ray|^((?=.*((BD|UHD)[-_. ]?(25|50|66|100|ISO)))))))).*"
"value": "^(?!.*\\b((?<!HD[._ -]|HD)DVD|BDRip|MKV|XviD|WMV|d3g|BDREMUX|REMUX|^(?=.*1080p)(?=.*HEVC)|[xh][-_. ]?26[45]|German.*DL|((?<=\\d{4}).*German.*(DL)?)(?=.*\\b(AVC|HEVC|VC[-_. ]?1|MVC|MPEG[-_. ]?2)\\b))\\b)(((?=.*\\b(Blu[-_. ]?ray|BD|HD[-_. ]?DVD)\\b)(?=.*\\b(AVC|HEVC|VC[-_. ]?1|MVC|MPEG[-_. ]?2|BDMV|ISO)\\b))|^((?=.*\\b(^((?=.*\\b((.*_)?COMPLETE.*|Dis[ck])\\b)(?=.*(Blu[-_. ]?ray|HD[-_. ]?DVD)))|3D[-_. ]?BD|BR[-_. ]?DISK|Full[-_. ]?Blu[-_. ]?ray|^((?=.*((BD|UHD)[-_. ]?(25|50|66|100|ISO)))))))).*"
}
}
]

@ -49,6 +49,15 @@
"value": "\\b(KRaLiMaRKo)\\b"
}
},
{
"name": "playBD",
"implementation": "ReleaseGroupSpecification",
"negate": false,
"required": false,
"fields": {
"value": "\\b(playBD)\\b"
}
},
{
"name": "PTer",
"implementation": "ReleaseGroupSpecification",

@ -3,25 +3,25 @@
"default": "Season {season:00}"
},
"series": {
"default": "{Series TitleYear}",
"plex": "{Series TitleYear} {imdb-{ImdbId}}",
"emby": "{Series TitleYear} [tvdbid-{TvdbId}]",
"jellyfin": "{Series TitleYear} [tvdbid-{TvdbId}]"
"default": "{Series CleanTitle} ({Series Year})",
"plex": "{Series CleanTitle} ({Series Year}) {imdb-{ImdbId}}",
"emby": "{Series CleanTitle} ({Series Year}) [tvdbid-{TvdbId}]",
"jellyfin": "{Series CleanTitle} ({Series Year}) [tvdbid-{TvdbId}]"
},
"episodes": {
"standard": {
"default:3": "{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series TitleYear} - S{season:00}E{episode:00} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:3": "{Series CleanTitle} ({Series Year}) - S{season:00}E{episode:00} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series CleanTitle} ({Series Year}) - S{season:00}E{episode:00} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"original": "{Original Title}"
},
"daily": {
"default:3": "{Series TitleYear} - {Air-Date} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series TitleYear} - {Air-Date} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:3": "{Series CleanTitle} ({Series Year}) - {Air-Date} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"default:4": "{Series CleanTitle} ({Series Year}) - {Air-Date} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}{[Mediainfo AudioCodec}{ Mediainfo AudioChannels]}{[MediaInfo VideoCodec]}{-Release Group}",
"original": "{Original Title}"
},
"anime": {
"default:3": "{Series TitleYear} - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}",
"default:4": "{Series TitleYear} - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}"
"default:3": "{Series CleanTitle} ({Series Year}) - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Preferred Words }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}",
"default:4": "{Series CleanTitle} ({Series Year}) - S{season:00}E{episode:00} - {absolute:000} - {Episode CleanTitle} [{Custom Formats }{Quality Full}]{[MediaInfo VideoDynamicRangeType]}[{MediaInfo VideoBitDepth}bit]{[MediaInfo VideoCodec]}[{Mediainfo AudioCodec} { Mediainfo AudioChannels}]{MediaInfo AudioLanguages}{-Release Group}"
}
}
}

@ -2,7 +2,7 @@ mkdocs-glightbox==0.3.1
mkdocs-awesome-pages-plugin==2.8.0
mkdocs-git-revision-date-localized-plugin==1.1.0
mkdocs-macros-plugin==0.7.0
mkdocs-material==8.5.11
mkdocs-material==9.0.3
mkdocs-minify-plugin==0.6.2
mkdocs-redirects==1.2.0
mkdocs-include-markdown-plugin==4.0.3

@ -1,3 +1,17 @@
# 2023-01-11 23:30
**[New]**
- [Starr] How to setup Language Custom Formats. *PR#1086*
**[Updated]**
- [Downloaders] Add info about the root download path with the categories setup. *PR#1074*
- [Downloaders] Add distinction between the two screenshots that are merged together. *PR#1077*
- [Radarr] Add to `How to setup Quality Profiles` a screenshot how the flowchart works incl. description. *PR#1077*
- [Sonarr v4] CF `Remux Tier 02` added RlsGrp `playBD`. *PR#1084*
- [Sonarr] Updated naming scheme to be consistent with Radarr. *PR#1088*
**[Fixed]**
- [Starr] CF `BR-DISK` fix false positive. *PR#1075*
# 2023-01-06 22:45
**[Sonarr v4]**
- sync radarr to sonarr streaming CF. *PR#1063*

Loading…
Cancel
Save