mirror of
https://github.com/TrezOne/docker-mods-uptime-kuma-timeout-fix.git
synced 2026-07-19 09:53:02 -04:00
Release 2.8.0
- Added Kannada, Macedonian, and Slovenian language support - Support for 'Except Language' in Custom Format (TheCaptain989/radarr-striptracks#78) - Updated README
This commit is contained in:
@@ -22,7 +22,7 @@ jobs:
|
|||||||
echo "MODNAME=${{ env.MODNAME }}" >> $GITHUB_OUTPUT
|
echo "MODNAME=${{ env.MODNAME }}" >> $GITHUB_OUTPUT
|
||||||
echo "MULTI_ARCH=${{ env.MULTI_ARCH }}" >> $GITHUB_OUTPUT
|
echo "MULTI_ARCH=${{ env.MULTI_ARCH }}" >> $GITHUB_OUTPUT
|
||||||
# **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. ****
|
# **** If the mod needs to be versioned, set the versioning logic below. Otherwise leave as is. ****
|
||||||
MOD_VERSION="2.7.2"
|
MOD_VERSION="2.8.0"
|
||||||
echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_OUTPUT
|
echo "MOD_VERSION=${MOD_VERSION}" >> $GITHUB_OUTPUT
|
||||||
outputs:
|
outputs:
|
||||||
GITHUB_REPO: ${{ steps.outputs.outputs.GITHUB_REPO }}
|
GITHUB_REPO: ${{ steps.outputs.outputs.GITHUB_REPO }}
|
||||||
|
|||||||
@@ -99,15 +99,17 @@ Selecting this language is functionally equivalent to calling the script with `-
|
|||||||
|
|
||||||
The language selection **'Unknown'** will match tracks with **no configured language** in the video file. Selecting this language is functionally equivalent to calling the script with `--audio :und --subs :und` command-line options. See [Unknown language code](./README.md#unknown-language-code) below for more details.
|
The language selection **'Unknown'** will match tracks with **no configured language** in the video file. Selecting this language is functionally equivalent to calling the script with `--audio :und --subs :und` command-line options. See [Unknown language code](./README.md#unknown-language-code) below for more details.
|
||||||
|
|
||||||
The Radarr language selection **'Any'** has two purposes:
|
The language selection **'Any'** has two purposes (Radarr only):
|
||||||
1) It will trigger a search of languages in ***Custom Formats***
|
1) It will trigger a search of languages in ***Custom Formats***
|
||||||
2) If none are found, it will preserve **all languages** in the video file. This is functionally equivalent to calling the script with `--audio :any --subs :any` command-line options. See [Any language code](./README.md#any-language-code) below for more details.
|
2) If none are found, it will preserve **all languages** in the video file. This is functionally equivalent to calling the script with `--audio :any --subs :any` command-line options. See [Any language code](./README.md#any-language-code) below for more details.
|
||||||
|
|
||||||
>**Note:** When using the *Custom Format* conditions and scoring to select languages you may not get the results you expect.
|
>**Note:** When using the *Custom Format* language conditions and scoring you may not get the results you expect.
|
||||||
>This can be non-intuitive configuration, especially when using negative scoring and the 'Negate' option.
|
>This can be non-intuitive configuration, especially when using negative scoring, the 'Negate' option, and the 'Except Language' option.
|
||||||
>The script does not care what custom format is *detected* (aka applied) by Radarr/Sonarr on the video file, only what the *scores* are in the *Quality Profile*.
|
>The script does not care what custom format is *detected* by Radarr/Sonarr on the video file, only what the *scores* are in the *Quality Profile*.
|
||||||
>If you choose to use Custom Formats, it is **highly recommended** to first run the script with the debug option `-d`, perform some test downloads and script runs, and then examine your results and the script logs closely to be sure things are working the way you want them to.
|
>If you choose to use Custom Formats, it is **highly recommended** to first run the script with the debug option `-d`, perform some test downloads and script runs, and then examine your results and the script logs closely to be sure things are working the way you want them to.
|
||||||
|
|
||||||
|
It is **highly recommended** to review the [TraSH Guides](https://trash-guides.info/Radarr/Tips/How-to-setup-language-custom-formats/) setup instructions for Language Custom Formats.
|
||||||
|
|
||||||
*Radarr Quality Profile Example*
|
*Radarr Quality Profile Example*
|
||||||

|

|
||||||
|
|
||||||
@@ -137,10 +139,10 @@ graph LR
|
|||||||
Descriptively, these steps are:
|
Descriptively, these steps are:
|
||||||
1. Command-line options (or environment variable) override all automatic language selection.
|
1. Command-line options (or environment variable) override all automatic language selection.
|
||||||
2. If there are no command-line options, the video's *Quality Profile* is examined for a language configuration (only supported in Radarr).
|
2. If there are no command-line options, the video's *Quality Profile* is examined for a language configuration (only supported in Radarr).
|
||||||
3. If there is no *Quality Profile* language **or** it is set to 'Any', then examine the *Custom Formats* and scores associated with the quality profile. All language conditions with positive scores *and* negated conditions with negative score are selected.
|
3. If there is no *Quality Profile* language **or** it is set to 'Any', then examine the *Custom Formats* and scores associated with the quality profile. All language conditions with positive scores *and* negated conditions with negative scores *and* non-negated Except Language conditions with negative scores are selected.
|
||||||
4. If the *Custom Format* scores are zero (0) or there are none with configured language conditions, examine the *Language Profile* (only supported in Sonarr v3)
|
4. If the *Custom Format* scores are zero (0) or there are none with configured language conditions, examine the *Language Profile* (only supported in Sonarr v3)
|
||||||
|
|
||||||
>**Note:** For step 3 above, using *Custom Formats* when 'Any' is in the *Quality Profile* is consistent with the behavior described in [TRaSH Guides](https://trash-guides.info/Sonarr/Tips/How-to-setup-language-custom-formats/ "TraSH Guides: How to setup Language Custom Formats").
|
>**Note:** For step 3 above, using *Custom Formats* when 'Any' is in the *Quality Profile* is consistent with the behavior described in [TRaSH Guides](https://trash-guides.info/Radarr/Tips/How-to-setup-language-custom-formats/ "TraSH Guides: How to setup Language Custom Formats").
|
||||||
|
|
||||||
## Command-Line Syntax
|
## Command-Line Syntax
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -6,8 +6,8 @@ Only the latest major and minor version are supported.
|
|||||||
|
|
||||||
| Version | Supported |
|
| Version | Supported |
|
||||||
| ------- | ------------------ |
|
| ------- | ------------------ |
|
||||||
| 2.7.x | :heavy_check_mark: |
|
| 2.8.x | :heavy_check_mark: |
|
||||||
| < 2.7 | :x: |
|
| < 2.8 | :x: |
|
||||||
|
|
||||||
## Reporting a Vulnerability
|
## Reporting a Vulnerability
|
||||||
|
|
||||||
|
|||||||
@@ -293,7 +293,7 @@ export striptracks_eventtype="${striptracks_type,,}_eventtype"
|
|||||||
export striptracks_newvideo="${striptracks_video%.*}.mkv"
|
export striptracks_newvideo="${striptracks_video%.*}.mkv"
|
||||||
# If this were defined directly in Radarr or Sonarr this would not be needed here
|
# If this were defined directly in Radarr or Sonarr this would not be needed here
|
||||||
# shellcheck disable=SC2089
|
# shellcheck disable=SC2089
|
||||||
striptracks_isocodemap='{"languages":[{"language":{"name":"Any","iso639-2":["any"]}},{"language":{"name":"Arabic","iso639-2":["ara"]}},{"language":{"name":"Bengali","iso639-2":["ben"]}},{"language":{"name":"Bosnian","iso639-2":["bos"]}},{"language":{"name":"Bulgarian","iso639-2":["bul"]}},{"language":{"name":"Catalan","iso639-2":["cat"]}},{"language":{"name":"Chinese","iso639-2":["zho","chi"]}},{"language":{"name":"Croatian","iso639-2":["hrv"]}},{"language":{"name":"Czech","iso639-2":["ces","cze"]}},{"language":{"name":"Danish","iso639-2":["dan"]}},{"language":{"name":"Dutch","iso639-2":["nld","dut"]}},{"language":{"name":"English","iso639-2":["eng"]}},{"language":{"name":"Estonian","iso639-2":["est"]}},{"language":{"name":"Finnish","iso639-2":["fin"]}},{"language":{"name":"Flemish","iso639-2":["nld","dut"]}},{"language":{"name":"French","iso639-2":["fra","fre"]}},{"language":{"name":"German","iso639-2":["deu","ger"]}},{"language":{"name":"Greek","iso639-2":["ell","gre"]}},{"language":{"name":"Hebrew","iso639-2":["heb"]}},{"language":{"name":"Hindi","iso639-2":["hin"]}},{"language":{"name":"Hungarian","iso639-2":["hun"]}},{"language":{"name":"Icelandic","iso639-2":["isl","ice"]}},{"language":{"name":"Indonesian","iso639-2":["ind"]}},{"language":{"name":"Italian","iso639-2":["ita"]}},{"language":{"name":"Japanese","iso639-2":["jpn"]}},{"language":{"name":"Korean","iso639-2":["kor"]}},{"language":{"name":"Latvian","iso639-2":["lav"]}},{"language":{"name":"Lithuanian","iso639-2":["lit"]}},{"language":{"name":"Malayalam","iso639-2":["mal"]}},{"language":{"name":"Norwegian","iso639-2":["nno","nob","nor"]}},{"language":{"name":"Persian","iso639-2":["fas","per"]}},{"language":{"name":"Polish","iso639-2":["pol"]}},{"language":{"name":"Portuguese","iso639-2":["por"]}},{"language":{"name":"Portuguese (Brazil)","iso639-2":["por"]}},{"language":{"name":"Romanian","iso639-2":["rum","ron"]}},{"language":{"name":"Russian","iso639-2":["rus"]}},{"language":{"name":"Serbian","iso639-2":["srp"]}},{"language":{"name":"Slovak","iso639-2":["slk","slo"]}},{"language":{"name":"Spanish","iso639-2":["spa"]}},{"language":{"name":"Spanish (Latino)","iso639-2":["spa"]}},{"language":{"name":"Swedish","iso639-2":["swe"]}},{"language":{"name":"Tamil","iso639-2":["tam"]}},{"language":{"name":"Telugu","iso639-2":["tel"]}},{"language":{"name":"Thai","iso639-2":["tha"]}},{"language":{"name":"Turkish","iso639-2":["tur"]}},{"language":{"name":"Ukrainian","iso639-2":["ukr"]}},{"language":{"name":"Vietnamese","iso639-2":["vie"]}},{"language":{"name":"Unknown","iso639-2":["und"]}}]}'
|
striptracks_isocodemap='{"languages":[{"language":{"name":"Any","iso639-2":["any"]}},{"language":{"name":"Arabic","iso639-2":["ara"]}},{"language":{"name":"Bengali","iso639-2":["ben"]}},{"language":{"name":"Bosnian","iso639-2":["bos"]}},{"language":{"name":"Bulgarian","iso639-2":["bul"]}},{"language":{"name":"Catalan","iso639-2":["cat"]}},{"language":{"name":"Chinese","iso639-2":["zho","chi"]}},{"language":{"name":"Croatian","iso639-2":["hrv"]}},{"language":{"name":"Czech","iso639-2":["ces","cze"]}},{"language":{"name":"Danish","iso639-2":["dan"]}},{"language":{"name":"Dutch","iso639-2":["nld","dut"]}},{"language":{"name":"English","iso639-2":["eng"]}},{"language":{"name":"Estonian","iso639-2":["est"]}},{"language":{"name":"Finnish","iso639-2":["fin"]}},{"language":{"name":"Flemish","iso639-2":["nld","dut"]}},{"language":{"name":"French","iso639-2":["fra","fre"]}},{"language":{"name":"German","iso639-2":["deu","ger"]}},{"language":{"name":"Greek","iso639-2":["ell","gre"]}},{"language":{"name":"Hebrew","iso639-2":["heb"]}},{"language":{"name":"Hindi","iso639-2":["hin"]}},{"language":{"name":"Hungarian","iso639-2":["hun"]}},{"language":{"name":"Icelandic","iso639-2":["isl","ice"]}},{"language":{"name":"Indonesian","iso639-2":["ind"]}},{"language":{"name":"Italian","iso639-2":["ita"]}},{"language":{"name":"Japanese","iso639-2":["jpn"]}},{"language":{"name":"Kannada","iso639-2":["kan"]}},{"language":{"name":"Korean","iso639-2":["kor"]}},{"language":{"name":"Latvian","iso639-2":["lav"]}},{"language":{"name":"Lithuanian","iso639-2":["lit"]}},{"language":{"name":"Macedonian","iso639-2":["mac","mkd"]}},{"language":{"name":"Malayalam","iso639-2":["mal"]}},{"language":{"name":"Norwegian","iso639-2":["nno","nob","nor"]}},{"language":{"name":"Persian","iso639-2":["fas","per"]}},{"language":{"name":"Polish","iso639-2":["pol"]}},{"language":{"name":"Portuguese","iso639-2":["por"]}},{"language":{"name":"Portuguese (Brazil)","iso639-2":["por"]}},{"language":{"name":"Romanian","iso639-2":["rum","ron"]}},{"language":{"name":"Russian","iso639-2":["rus"]}},{"language":{"name":"Serbian","iso639-2":["srp"]}},{"language":{"name":"Slovak","iso639-2":["slk","slo"]}},{"language":{"name":"Slovenian","iso639-2":["slv"]}},{"language":{"name":"Spanish","iso639-2":["spa"]}},{"language":{"name":"Spanish (Latino)","iso639-2":["spa"]}},{"language":{"name":"Swedish","iso639-2":["swe"]}},{"language":{"name":"Tamil","iso639-2":["tam"]}},{"language":{"name":"Telugu","iso639-2":["tel"]}},{"language":{"name":"Thai","iso639-2":["tha"]}},{"language":{"name":"Turkish","iso639-2":["tur"]}},{"language":{"name":"Ukrainian","iso639-2":["ukr"]}},{"language":{"name":"Vietnamese","iso639-2":["vie"]}},{"language":{"name":"Unknown","iso639-2":["und"]}}]}'
|
||||||
|
|
||||||
### Functions
|
### Functions
|
||||||
|
|
||||||
@@ -1089,16 +1089,17 @@ elif [ -n "$striptracks_api_url" ]; then
|
|||||||
# specify languages and evaluating the scoring from the selected quality profile.
|
# specify languages and evaluating the scoring from the selected quality profile.
|
||||||
(
|
(
|
||||||
.[1] | .[] |
|
.[1] | .[] |
|
||||||
{id, specs: [.specifications[] | select(.implementation == \"LanguageSpecification\") | {langCode: .fields[].value, negate}]}
|
{id, specs: [.specifications[] | select(.implementation == \"LanguageSpecification\") | {langCode: .fields[] | select(.name == \"value\").value, negate, except: ((.fields[] | select(.name == \"exceptLanguage\").value) // false)}]}
|
||||||
) as \$cf |
|
) as \$cf |
|
||||||
.[0] | .[] |
|
.[0] | .[] |
|
||||||
select(.id == $striptracks_profileId) | .formatItems[] | select(.format == \$cf.id) |
|
select(.id == $striptracks_profileId) | .formatItems[] | select(.format == \$cf.id) |
|
||||||
{format, name, score, specs: \$cf.specs}
|
{format, name, score, specs: \$cf.specs}
|
||||||
] |
|
] |
|
||||||
[
|
[
|
||||||
# Only count languages with positive scores plus languages with negative scores that are negated.
|
# Only count languages with positive scores plus languages with negative scores that are negated, and
|
||||||
|
# languages with negative scores that use Except
|
||||||
.[] |
|
.[] |
|
||||||
(select(.score > 0) | .specs[] | select(.negate == false)), (select(.score < 0) | .specs[] | select(.negate == true)) |
|
(select(.score > 0) | .specs[] | select(.negate == false and .except == false)), (select(.score < 0) | .specs[] | select(.negate == true and .except == false)), (select(.score < 0) | .specs[] | select(.negate == false and .except == true)) |
|
||||||
.langCode
|
.langCode
|
||||||
] |
|
] |
|
||||||
unique |
|
unique |
|
||||||
|
|||||||
Reference in New Issue
Block a user