Merge branch 'meisnate12:nightly' into nightly

pull/1133/head
Ramshackles 2 years ago committed by GitHub
commit 7056c1de8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1 +1 @@
1.17.3-develop148
1.17.3-develop151

@ -45,6 +45,25 @@ dynamic_collections:
translation_key:
default: content_rating_cs
other: content_rating_other
order:
1: "01_"
2: "02_"
3: "03_"
4: "04_"
5: "05_"
6: "06_"
7: "07_"
8: "08_"
9: "09_"
10: "10_"
11: "11_"
12: "12_"
13: "13_"
14: "14_"
15: "15_"
16: "16_"
17: "17_"
18: "18_"
include:
- 1
- 2

@ -15,10 +15,6 @@ translations:
pmm: translations
collections:
Chart Collections:
template:
- name: separator
separator: chart
Newly Released:
variables:

@ -1,6 +1,6 @@
##############################################################################
# FlixPatrol Charts Collections #
# Created by Yozora, Bullmoose20, anon_fawkes & Sohjiro #
# Created by Yozora, Bullmoose20, anon_fawkes, & Sohjiro #
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
# https://metamanager.wiki/en/latest/defaults/chart/flixpatrol.html #
##############################################################################

@ -1,6 +1,6 @@
##############################################################################
# FlixPatrol Overlays #
# Created by Yozora, Bullmoose20, anon_fawkes, & Sohjiro #
# Created by Yozora, Bullmoose20, anon_fawkes, & Sohjiro #
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
# https://metamanager.wiki/en/latest/defaults/overlays/flixpatrol.html #
##############################################################################

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

@ -0,0 +1,171 @@
##############################################################################
# Languages Overlays #
# Created by Yozora, Bullmoose20, Cpt Kuesel, & Sohjiro #
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
# https://metamanager.wiki/en/latest/defaults/overlays/languages.html #
##############################################################################
external_templates:
pmm: templates
template_variables:
default:
style: round
country: <<key>>
queue: position
pmm: flag/<<style>>/<<country>>
queues:
position:
left:
- horizontal_align: left
vertical_align: top
horizontal_offset: 15
vertical_offset: 15
- horizontal_align: left
vertical_align: top
horizontal_offset: 15
vertical_offset: 75
- horizontal_align: left
vertical_align: top
horizontal_offset: 15
vertical_offset: 135
- horizontal_align: left
vertical_align: top
horizontal_offset: 15
vertical_offset: 195
- horizontal_align: left
vertical_align: top
horizontal_offset: 15
vertical_offset: 255
right:
- horizontal_align: right
vertical_align: top
horizontal_offset: 15
vertical_offset: 15
- horizontal_align: right
vertical_align: top
horizontal_offset: 15
vertical_offset: 75
- horizontal_align: right
vertical_align: top
horizontal_offset: 15
vertical_offset: 135
- horizontal_align: right
vertical_align: top
horizontal_offset: 15
vertical_offset: 195
- horizontal_align: right
vertical_align: top
horizontal_offset: 15
vertical_offset: 255
templates:
flags:
conditionals:
search_attribute:
default: audio_language
conditions:
- use_subtitles: true
value: subtitle_language
ignore_blank_results: true
plex_search:
all:
<<search_attribute>>: <<key>>
overlays:
german:
variables: {key: de, weight: 240}
template: [name: standard, name: flags]
english:
variables: {key: en, weight: 230, country: us}
template: [name: standard, name: flags]
french:
variables: {key: fr, weight: 220}
template: [name: standard, name: flags]
japanese:
variables: {key: ja, weight: 210, country: jp}
template: [name: standard, name: flags]
korean:
variables: {key: ko, weight: 200, country: kr}
template: [name: standard, name: flags]
chinese:
variables: {key: zh, weight: 190, country: cn}
template: [name: standard, name: flags]
danish:
variables: {key: da, weight: 180, country: dk}
template: [name: standard, name: flags]
russian:
variables: {key: ru, weight: 170}
template: [name: standard, name: flags]
spanish:
variables: {key: es, weight: 160}
template: [name: standard, name: flags]
italian:
variables: {key: it, weight: 150}
template: [name: standard, name: flags]
portuguese:
variables: {key: pt, weight: 140}
template: [name: standard, name: flags]
hindi:
variables: {key: hi, weight: 130, country: in}
template: [name: standard, name: flags]
telugu:
variables: {key: te, weight: 120, country: in}
template: [name: standard, name: flags]
farsi:
variables: {key: fa, weight: 110, country: ir}
template: [name: standard, name: flags]
thai:
variables: {key: th, weight: 100}
template: [name: standard, name: flags]
dutch:
variables: {key: nl, weight: 90}
template: [name: standard, name: flags]
norwegian:
variables: {key: no, weight: 80}
template: [name: standard, name: flags]
icelandic:
variables: {key: is, weight: 70}
template: [name: standard, name: flags]
swedish:
variables: {key: sv, weight: 60, country: se}
template: [name: standard, name: flags]
turkish:
variables: {key: tr, weight: 50}
template: [name: standard, name: flags]
polish:
variables: {key: pl, weight: 40}
template: [name: standard, name: flags]
czech:
variables: {key: cs, weight: 30, country: cz}
template: [name: standard, name: flags]
ukrainian:
variables: {key: uk, weight: 20, country: ua}
template: [name: standard, name: flags]
hungarian:
variables: {key: hu, weight: 10}
template: [name: standard, name: flags]

@ -1,15 +1,15 @@
##############################################################################
# Audio Language Overlay #
# Language Count Overlay #
# Created by Yozora, Bullmoose20, & Sohjiro #
# Credit to Magic815 for base images #
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
# https://metamanager.wiki/en/latest/defaults/overlays/audio_language.html #
# https://metamanager.wiki/en/latest/defaults/overlays/language_count.html #
##############################################################################
external_templates:
pmm: templates
template_variables:
group: audio_language
group: language
horizontal_offset: 0
horizontal_align: center
vertical_offset: 30
@ -20,7 +20,7 @@ external_templates:
pmm: <<overlay_name>>
templates:
audio_language:
language:
default:
minimum: 2
optional:
@ -35,9 +35,8 @@ overlays:
Dual-Audio:
variables: {key: dual, weight: 20, lt: 3}
template: [name: standard, name: audio_language]
template: [name: standard, name: language]
Multi-Audio:
variables: {key: multi, weight: 10}
template: [name: standard, name: audio_language]
template: [name: standard, name: language]

@ -168,6 +168,7 @@ key_names:
Politics: Politik
# Portugal: Portugal
Portugese: Portugisisk
Portuguese: Portugisisk
Producers: Producenter
# Punjabi: Punjabi
# Qatar: Qatar

@ -168,6 +168,7 @@ key_names:
# Politics: Politics
# Portugal: Portugal
# Portugese: Portugese
# Portuguese: Portuguese
# Producers: Producers
# Punjabi: Punjabi
# Qatar: Qatar

@ -23,13 +23,13 @@ variables:
# For Playlists
item: Article
key_names:
Action: Action
Action & Adventure: Action et Aventure
# Action: Action
Action & Adventure: Action et Aventure
Actors: Acteurs et Actrices
Adult: Adulte
Adventure: Aventure
Albanian: Albanais
Animation: Animation
# Animation: Animation
Anime: Animé
Arabic: Arabes
Argentina: Argentine
@ -37,17 +37,17 @@ key_names:
Australia: Australie
Austria: L'Autriche
Award: Prix
Bahamas: Bahamas
Basque: Basque
# Bahamas: Bahamas
# Basque: Basque
Belgium: Belgique
Bengali: Bengali
# Bengali: Bengali
Biography: Biographie
Biopic: Biopic
# Biopic: Biopic
Bosnian: Bosniaque
Brazil: Brésil
Bulgaria: Bulgarie
Bulgarian: Bulgare
Canada: Canada
# Canada: Canada
Catalan: Catalans
Chart: Graphique
Children: Enfants
@ -57,9 +57,9 @@ key_names:
Christmas: Noël
Comedy: La Comédie
Competition: Compétition
Costa Rica: Costa Rica
# Costa Rica: Costa Rica
Country: Pays
Crime: Crime
# Crime: Crime
Croatia: Croatie
Croatian: Croate
Czech: Tchèques
@ -82,27 +82,27 @@ key_names:
Fantasy: Fantaisies
Father's Day: Fête des pères
Filipino: Philippins
Film Noir: Film Noir
# Film Noir: Film Noir
Finland: Finlande
Finnish: Finnois
Food: Aliments
France: France
# France: France
French: Français
Galician: Galiciens
Game Show: Jeu télévisé
Gangster: Bandit
Genre: Genre
# Genre: Genre
Georgian: Géorgien
German: Allemands
Germany: Allemagne
Greece: Grèce
Greek: Grecs
Halloween: Halloween
# Halloween: Halloween
Hebrew: Hébreu
Hindi: Hindi
# Hindi: Hindi
History: Historiques
Home and Garden: Maison et jardin
Hong Kong: Hong Kong
# Hong Kong: Hong Kong
Horror: Horreur
Hungarian: Hongrois
Hungary: Hongrie
@ -120,22 +120,22 @@ key_names:
Italy: Italie
Japan: Japon
Japanese: Japonais
Kannada: Kannada
Kazakh: Kazakh
# Kannada: Kannada
# Kazakh: Kazakh
Kids: Des gamins
Korea: Corée
Korean: Coréens
LGBTQ+: LGBTQ+
# LGBTQ+: LGBTQ+
Labor Day: Fête du travail
Latin: Latin
# Latin: Latin
Latvia: Lettonie
Latvian: Letton
Luxembourg: Luxembourg
# Luxembourg: Luxembourg
Macedonian: Macédonien
Malay: Malais
Malaysia: Malaisie
Malaysian: Malaisien
Mandarin: Mandarin
# Mandarin: Mandarin
Marathi: Marathe
Martial Arts: Arts martiaux
Memorial Day: Jour du souvenir
@ -159,11 +159,11 @@ key_names:
Norwegian: Norvégiens
Norwegian Bokmål: Norvégien Bokmål
Norwegian Nynorsk: Norvégien Nynorsk
Pakistan: Pakistan
Panama: Panama
# Pakistan: Pakistan
# Panama: Panama
Persian: Persane
Peru: Pérou
Philippines: Philippines
# Philippines: Philippines
Poland: Pologne
Polish: Polonais
Politics: Politique
@ -172,7 +172,7 @@ key_names:
Portuguese: Portugais
Producers: Producteurs et Productrices
Punjabi: Pendjabi
Qatar: Qatar
# Qatar: Qatar
Ratings: Notes
Reality: Réalité
Resolution: Résolution
@ -191,23 +191,23 @@ key_names:
Serbian: Serbe
Short: Court Métrage
Singapore: Singapour
Slasher: Slasher
# Slasher: Slasher
Slovak: Slovaques
Slovenian: Slovène
Soap: Feuilleton
South Africa: Afrique du Sud
Spain: Espagne
Spanish: Espagnols
Sport: Sport
Sri Lanka: Sri Lanka
# Sport: Sport
# Sri Lanka: Sri Lanka
St. Patrick's Day: Le jour de la Saint-Patrick
Stand-Up Comedy: Comédie debout
Streaming: Diffusion
Studio: Studio
# Studio: Studio
Subtitle Language: Langue des sous-titres
Superhero: Super-héros
Suspense: Le Suspense
Swahili: Swahili
# Swahili: Swahili
Sweden: Suède
Swedish: Suédois
Switzerland: Suisse
@ -223,7 +223,7 @@ key_names:
Travel: Voyager
Turkey: Turquie
Turkish: Turcs
Ukraine: Ukraine
# Ukraine: Ukraine
Ukrainian: Ukrainien
United Arab Emirates: Emirats Arabes Unis
United Kingdom: Royaume-Uni

@ -168,6 +168,7 @@ key_names:
# Politics: Politics
# Portugal: Portugal
# Portugese: Portugese
# Portuguese: Portuguese
# Producers: Producers
# Punjabi: Punjabi
# Qatar: Qatar

@ -130,7 +130,7 @@ html_theme_options = {
("QNAP Walkthrough", "home/guides/qnap"),
("Synology Walkthrough", "home/guides/synology"),
]),
("Docker Images", "home/guides/alternative-docker"),
("Docker Images", "home/docker"),
("Log Files", "home/logs"),
("Run Commands & Environment Variables", "home/environmental"),
("Knowledgebase/FAQ", "home/kb"),
@ -269,11 +269,12 @@ html_theme_options = {
("Shared Variables", "defaults/overlays/variables"),
("_divider", ),
("Audio Codec", "defaults/overlays/audio_codec"),
("Audio Languages", "defaults/overlays/audio_language"),
("Common Sense Age Ratings", "defaults/overlays/commonsense"),
("Direct Play Only", "defaults/overlays/direct_play"),
("Episode Info", "defaults/overlays/episode_info"),
("FlixPatrol Top", "defaults/overlays/flixpatrol"),
("Language Count", "defaults/overlays/language_count"),
("Languages", "defaults/overlays/languages"),
("MediaStinger", "defaults/overlays/mediastinger"),
("Ratings", "defaults/overlays/ratings"),
("Resolution/Edition", "defaults/overlays/resolution"),

@ -10,20 +10,21 @@ These overlays are applied by calling the below paths into the `overlay_path` [s
### Overlay Files
| Default | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|:-----------------------------------------------|:-----------------:|:--------------------------------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
| [Audio Codec](overlays/audio_codec) | `audio_codec` | Dolby Atmos logo, DTS logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [Audio Language](overlays/audio_language) | `audio_language` | French Audio, Korean Audio | &#9989; | &#9989; | &#9989; | &#9989; |
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | &#9989; | &#9989; | &#10071; | &#10071; |
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | &#9989; | &#10071; | &#10071; | &#9989; |
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | &#10060; | &#10060; | &#10060; | &#9989; |
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | &#9989; | &#9989; | &#10060; | &#10060; |
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | &#9989; | &#9989; | &#10060; | &#9989; |
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | &#9989; | &#9989; | &#10060; | &#9989; |
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | &#9989; | &#9989; | &#10060; | &#10060; |
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | &#10060; | &#9989; | &#10060; | &#10060; |
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | &#9989; | &#9989; | &#10060; | &#10060; |
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | &#9989; | &#10071; | &#10071; | &#9989; |
| Default | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|:-----------------------------------------------|:----------------:|:--------------------------------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
| [Audio Codec](overlays/audio_codec) | `audio_codec` | Dolby Atmos logo, DTS logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | &#9989; | &#9989; | &#10071; | &#10071; |
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | &#9989; | &#10071; | &#10071; | &#9989; |
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | &#10060; | &#10060; | &#10060; | &#9989; |
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Language Count](overlays/language_count) | `language_count` | Dual-Audio, Multi-Audio, Dual-Subtitle, Multi-Subtitle | &#9989; | &#9989; | &#9989; | &#9989; |
| [Languages](overlays/languages) | `languages` | Flags Based on the Audio/Subtitles a file has | &#9989; | &#9989; | &#9989; | &#9989; |
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | &#9989; | &#9989; | &#10060; | &#10060; |
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | &#9989; | &#9989; | &#10060; | &#9989; |
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | &#9989; | &#9989; | &#10060; | &#9989; |
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | &#9989; | &#9989; | &#10060; | &#10060; |
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | &#9989; | &#9989; | &#10060; | &#10060; |
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | &#10060; | &#9989; | &#10060; | &#10060; |
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | &#9989; | &#9989; | &#10060; | &#10060; |
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | &#9989; | &#9989; | &#9989; | &#9989; |
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | &#9989; | &#10071; | &#10071; | &#9989; |

@ -0,0 +1,7 @@
| f |
|:--------------------------------------------------------------------------:|
| Languages Overlays |
| Created by Yozora, Bullmoose20, Cpt Kuesel, & Sohjiro |
| EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL |
| https://metamanager.wiki/en/latest/defaults/overlays/languages.html |
# Languages Overlays #

@ -2219,10 +2219,8 @@ class CollectionBuilder:
return True
def check_missing_filters(self, item_id, is_movie, tmdb_item=None, check_released=False):
final_return = True
if self.has_tmdb_filters or check_released:
try:
final_return = False
if tmdb_item is None:
if is_movie:
tmdb_item = self.config.TMDb.get_movie(item_id, ignore_cache=True)
@ -2230,10 +2228,13 @@ class CollectionBuilder:
tmdb_item = self.config.TMDb.get_show(self.config.Convert.tvdb_to_tmdb(item_id, fail=True), ignore_cache=True)
except Failed:
return False
if check_released:
date_to_check = tmdb_item.release_date if is_movie else tmdb_item.first_air_date
if not date_to_check or date_to_check > self.current_time:
return False
if check_released:
date_to_check = tmdb_item.release_date if is_movie else tmdb_item.first_air_date
if not date_to_check or date_to_check > self.current_time:
return False
final_return = True
if self.has_tmdb_filters:
final_return = False
for filter_list in self.filters:
tmdb_f = [(k, v) for k, v in filter_list if k in tmdb_filters]
if not tmdb_f:

@ -116,13 +116,13 @@ class ConfigFile:
self.overlays_only = attrs["overlays_only"] if "overlays_only" in attrs else False
current_time = datetime.now()
self.data = YAML(self.config_path).data
with open(self.config_path, encoding="utf-8") as fp:
logger.separator("Redacted Config", space=False, border=False, trace=True)
logger.separator("Redacted Config", space=False, border=False, debug=True)
for line in fp.readlines():
logger.trace(re.sub(r"(token|client.*|url|api_*key|secret|webhooks|error|run_start|run_end|version|changes|username|password): .+", r"\1: (redacted)", line.strip("\r\n")))
logger.trace("")
logger.debug(re.sub(r"(token|client.*|url|api_*key|secret|webhooks|error|run_start|run_end|version|changes|username|password): .+", r"\1: (redacted)", line.strip("\r\n")))
logger.debug("")
self.data = YAML(self.config_path).data
def replace_attr(all_data, attr, par):
if "settings" not in all_data:
@ -830,8 +830,6 @@ class ConfigFile:
if lib and "template_variables" in lib and lib["template_variables"] and isinstance(lib["template_variables"], dict):
lib_vars = lib["template_variables"]
logger.separator("Metadata Files", space=False, border=False)
try:
if lib and "metadata_path" in lib:
if not lib["metadata_path"]:
@ -859,8 +857,6 @@ class ConfigFile:
except NotScheduled:
params["skip_library"] = True
logger.separator("Overlay Files", space=False, border=False)
params["overlay_path"] = []
params["remove_overlays"] = False
params["reapply_overlays"] = False

@ -207,8 +207,9 @@ class DataFile:
elif not isinstance(self.templates[variables["name"]][0], dict):
raise Failed(f"{self.data_type} Error: template {variables['name']} is not a dictionary")
else:
logger.debug(f"Template {variables['name']}")
logger.debug(f"Call: {variables}")
logger.separator(f"Template {variables['name']}", space=False, border=False, debug=True)
logger.trace("")
logger.trace(f"Call: {variables}")
remove_variables = []
optional = []
@ -248,6 +249,7 @@ class DataFile:
(extra_variables, "Definition", False),
(self.temp_vars, "Config", True)
]:
logger.trace("")
logger.trace(f"{input_type}: {input_dict}")
for input_key, input_value in input_dict.items():
if input_key == "conditionals":
@ -386,7 +388,7 @@ class DataFile:
if "move_prefix" in template:
prefix = template["move_prefix"]
elif "move_collection_prefix" in template:
logger.debuf("")
logger.debug("")
logger.debug(f"{self.data_type} Warning: template sub-attribute move_collection_prefix will run as move_prefix")
prefix = template["move_collection_prefix"]
if prefix:
@ -413,14 +415,15 @@ class DataFile:
default = {k: v for k, v in default.items() if k not in variables}
optional = [o for o in optional if o not in variables and o not in default]
logger.debug("")
logger.debug(f"Variables: {variables}")
logger.debug("")
logger.debug(f"Defaults: {default}")
logger.debug("")
logger.debug(f"Optional: {optional}")
logger.trace("")
logger.trace(f"Variables: {variables}")
logger.trace("")
logger.trace(f"Defaults: {default}")
logger.trace("")
logger.trace(f"Optional: {optional}")
logger.trace("")
logger.trace(f"Translation: {translation_variables}")
logger.debug("")
def check_for_var(_method, _data):
def scan_text(og_txt, var, actual_value):
@ -522,6 +525,7 @@ class MetadataFile(DataFile):
else:
logger.info("")
logger.separator(f"Loading Metadata {file_type}: {path}")
logger.debug("")
data = self.load_file(self.type, self.path)
self.metadata = get_dict("metadata", data, library.metadatas)
self.templates = get_dict("templates", data)
@ -1464,6 +1468,7 @@ class PlaylistFile(DataFile):
self.data_type = "Playlist"
logger.info("")
logger.info(f"Loading Playlist {file_type}: {path}")
logger.debug("")
data = self.load_file(self.type, self.path)
self.playlists = get_dict("playlists", data, self.config.playlist_names)
self.templates = get_dict("templates", data)
@ -1480,6 +1485,7 @@ class OverlayFile(DataFile):
self.data_type = "Overlay"
logger.info("")
logger.info(f"Loading Overlay {file_type}: {path}")
logger.debug("")
data = self.load_file(self.type, self.path, overlay=True)
self.overlays = get_dict("overlays", data)
self.templates = get_dict("templates", data)

@ -131,11 +131,10 @@ class TVDb:
else:
raise Failed(f"TVDb Error: {tvdb_url} must begin with {urls['movies']} or {urls['series']}")
expired = None
tvdb_id = None
if self.config.Cache and not ignore_cache:
if self.config.Cache and not ignore_cache and not is_movie:
tvdb_id, expired = self.config.Cache.query_tvdb_map(tvdb_url, self.expiration)
if tvdb_id and not expired and not is_movie:
return tvdb_id, None, None
if tvdb_id and not expired:
return tvdb_id, None, None
logger.trace(f"URL: {tvdb_url}")
try:
response = self.get_request(tvdb_url)
@ -161,7 +160,7 @@ class TVDb:
pass
if tmdb_id is None and imdb_id is None:
raise Failed(f"TVDb Error: No TMDb ID or IMDb ID found")
if self.config.Cache and not ignore_cache:
if self.config.Cache and not ignore_cache and not is_movie:
self.config.Cache.update_tvdb_map(expired, tvdb_url, tvdb_id, self.expiration)
return tvdb_id, tmdb_id, imdb_id
elif tvdb_url.startswith(urls["movie_id"]):

@ -1,5 +1,5 @@
PlexAPI==4.13.0
tmdbapis==1.0.7
tmdbapis==1.0.8
arrapi==1.3.1
lxml==4.9.1
requests==2.28.1

Loading…
Cancel
Save