Merge branch 'meisnate12:nightly' into nightly
2
VERSION
|
@ -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 #
|
||||
##############################################################################
|
||||
|
|
BIN
defaults/overlays/images/flag/round/cn.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
defaults/overlays/images/flag/round/cz.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
defaults/overlays/images/flag/round/de.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/dk.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/es.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
defaults/overlays/images/flag/round/fr.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/hu.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/in.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
defaults/overlays/images/flag/round/ir.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
defaults/overlays/images/flag/round/is.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/it.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/jp.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/kr.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
defaults/overlays/images/flag/round/nl.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/no.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/pl.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/round/pt.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
defaults/overlays/images/flag/round/ru.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/round/se.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/th.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/round/tr.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
defaults/overlays/images/flag/round/ua.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/round/uk.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
defaults/overlays/images/flag/round/us.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
defaults/overlays/images/flag/square/cn.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/square/cz.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/square/de.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/dk.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
defaults/overlays/images/flag/square/es.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/square/fr.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
defaults/overlays/images/flag/square/hu.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/in.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
defaults/overlays/images/flag/square/ir.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
defaults/overlays/images/flag/square/is.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
defaults/overlays/images/flag/square/it.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
defaults/overlays/images/flag/square/jp.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
defaults/overlays/images/flag/square/kr.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
defaults/overlays/images/flag/square/nl.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/no.png
Normal file
After Width: | Height: | Size: 9.5 KiB |
BIN
defaults/overlays/images/flag/square/pl.png
Normal file
After Width: | Height: | Size: 9.1 KiB |
BIN
defaults/overlays/images/flag/square/pt.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
defaults/overlays/images/flag/square/ru.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/se.png
Normal file
After Width: | Height: | Size: 9.4 KiB |
BIN
defaults/overlays/images/flag/square/th.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/tr.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
defaults/overlays/images/flag/square/ua.png
Normal file
After Width: | Height: | Size: 9.2 KiB |
BIN
defaults/overlays/images/flag/square/uk.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
defaults/overlays/images/flag/square/us.png
Normal file
After Width: | Height: | Size: 13 KiB |
171
defaults/overlays/language.yml
Normal file
|
@ -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 | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Audio Language](overlays/audio_language) | `audio_language` | French Audio, Korean Audio | ✅ | ✅ | ✅ | ✅ |
|
||||
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | ✅ | ✅ | ❗ | ❗ |
|
||||
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | ✅ | ❗ | ❗ | ✅ |
|
||||
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | ❌ | ❌ | ❌ | ✅ |
|
||||
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | ✅ | ✅ | ❌ | ✅ |
|
||||
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | ✅ | ✅ | ❌ | ✅ |
|
||||
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | ❌ | ✅ | ❌ | ❌ |
|
||||
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | ✅ | ❗ | ❗ | ✅ |
|
||||
| Default | path | Example Overlays | Movies | Shows | Seasons | Episodes |
|
||||
|:-----------------------------------------------|:----------------:|:--------------------------------------------------------------------------|:--------:|:---------:|:---------:|:--------:|
|
||||
| [Audio Codec](overlays/audio_codec) | `audio_codec` | Dolby Atmos logo, DTS logo | ✅ | ✅ | ✅ | ✅ |
|
||||
| [CommonSense Age Rating](overlays/commonsense) | `commonsense` | "3+", "16+" | ✅ | ✅ | ❗ | ❗ |
|
||||
| [Direct Play](overlays/direct_play) | `direct_play` | "Direct Play Only" | ✅ | ❗ | ❗ | ✅ |
|
||||
| [Episode Info](overlays/episode_info) | `episode_info` | "S01E01", "S02E09" | ❌ | ❌ | ❌ | ✅ |
|
||||
| [FlixPatrol](overlays/flixpatrol) | `flixpatrol` | "Streaming service logo with words "TOP" | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Language Count](overlays/language_count) | `language_count` | Dual-Audio, Multi-Audio, Dual-Subtitle, Multi-Subtitle | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Languages](overlays/languages) | `languages` | Flags Based on the Audio/Subtitles a file has | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Mediastinger](overlays/mediastinger) | `mediastinger` | Mediastinger Logo for After/During Credit Scenes | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Ratings](overlays/ratings) | `ratings` | IMDb Audience Rating, Metacritic Critic Rating | ✅ | ✅ | ❌ | ✅ |
|
||||
| [Resolution/Editions](overlays/resolution) | `resolution` | 4K Dolby Vision logo, 720P logo, "Director's Cut", "Criterion Collection" | ✅ | ✅ | ❌ | ✅ |
|
||||
| [Ribbon](overlays/ribbon) | `ribbon` | IMDb Top 250 Ribbon, RT Fresh Ribbon | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Runtimes](overlays/runtimes) | `runtimes` | "Runtime: 1h 30m" | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Status](overlays/status) | `status` | Airing, Returning, Canceled, Ended | ❌ | ✅ | ❌ | ❌ |
|
||||
| [Streaming](overlays/streaming) | `streaming` | Netflix logo, Hulu logo | ✅ | ✅ | ❌ | ❌ |
|
||||
| [Versions](overlays/versions) | `versions` | Multiple Versions logo | ✅ | ✅ | ✅ | ✅ |
|
||||
| [Video Format](overlays/video_format) | `video_format` | "REMUX", "HDTV" | ✅ | ❗ | ❗ | ✅ |
|
||||
|
|
7
docs/defaults/overlays/languages.md
Normal file
|
@ -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
|
||||
|
|