diff --git a/VERSION b/VERSION index d6585357..e4c9a060 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.18.3-develop131 +1.18.3-develop132 diff --git a/defaults/both/universe.yml b/defaults/both/universe.yml index ab2b0252..59b38c95 100644 --- a/defaults/both/universe.yml +++ b/defaults/both/universe.yml @@ -21,8 +21,6 @@ templates: minimum_items: 2 optional: - name_mapping - - name_<> - - summary_<> - trakt_list_<> - imdb_list_<> - mdblist_list @@ -31,8 +29,6 @@ templates: imdb_list: <>>> trakt_list: <>>> mdblist_list: <>>> - summary: <>>> - name: <>>> collections: Universe Collections: @@ -62,13 +58,12 @@ dynamic_collections: mummy: The Mummy Universe wizard: Wizarding World xmen: X-Men Universe - - template: - universe - - shared - arr - custom + - translation + - shared template_variables: allowed_libraries: avp: movie @@ -93,7 +88,5 @@ dynamic_collections: askew: https://mdblist.com/lists/plexmetamanager/external/15362 wizard: https://mdblist.com/lists/plexmetamanager/external/9242 xmen: https://mdblist.com/lists/plexmetamanager/external/9244 - - image: default: universe/<> \ No newline at end of file diff --git a/defaults/overlays/images/edition/codacut.png b/defaults/overlays/images/edition/coda.png similarity index 100% rename from defaults/overlays/images/edition/codacut.png rename to defaults/overlays/images/edition/coda.png diff --git a/defaults/overlays/images/edition/directorscut.png b/defaults/overlays/images/edition/directors.png similarity index 100% rename from defaults/overlays/images/edition/directorscut.png rename to defaults/overlays/images/edition/directors.png diff --git a/defaults/overlays/images/edition/finalcut.png b/defaults/overlays/images/edition/final.png similarity index 100% rename from defaults/overlays/images/edition/finalcut.png rename to defaults/overlays/images/edition/final.png diff --git a/defaults/overlays/resolution.yml b/defaults/overlays/resolution.yml index e0f985c7..d5ce5e1c 100644 --- a/defaults/overlays/resolution.yml +++ b/defaults/overlays/resolution.yml @@ -34,24 +34,25 @@ external_templates: - HDR - type: resolution_dovetail value: - - Directors-Cut - Extended-Edition - Uncut-Edition - Unrated-Edition - Special-Edition - - Final-Cut - Anniversary-Edition - Collectors-Edition + - Diamond-Edition + - Platinum-Edition + - Directors-Cut + - Final-Cut - International-Cut - Theatrical-Cut - Ultimate-Cut - - IMAX-E + - Alternate-Cut + - Coda-Cut + - IMAX-Enhanced - IMAX - Remastered - Criterion - - Coda - - Diamond - - Platinum final_horizontal_offset: default: <> conditions: @@ -61,7 +62,11 @@ external_templates: default: <> conditions: - type: edition_dovetail - vertical_align: "bottom" + vertical_align: bottom + key: [remastered, coda] + value: <> + - type: edition_dovetail + vertical_align: bottom value: <> - type: edition_dovetail value: <> @@ -251,41 +256,53 @@ overlays: variables: {key: "", alt: hdr, weight: 1, type: resolution_dovetail, allowed_libraries: movie} template: [name: resolution, name: standard] - Directors-Cut-Dovetail: - variables: {key: directorscut, weight: 150, search: Director, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] Extended-Edition-Dovetail: - variables: {key: extended, weight: 140, search: Extend, type: edition_dovetail, allowed_libraries: movie} + variables: {key: extended, weight: 190, search: Extend, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Uncut-Edition-Dovetail: - variables: {key: uncut, weight: 130, search: Uncut, type: edition_dovetail, allowed_libraries: movie} + variables: {key: uncut, weight: 180, search: Uncut, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Unrated-Edition-Dovetail: - variables: {key: unrated, weight: 120, search: Unrat, type: edition_dovetail, allowed_libraries: movie} + variables: {key: unrated, weight: 170, search: Unrat, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Special-Edition-Dovetail: - variables: {key: special, weight: 110, search: Special, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] - Final-Cut-Dovetail: - variables: {key: finalcut, weight: 100, search: Final, type: edition_dovetail, allowed_libraries: movie} + variables: {key: special, weight: 160, search: Special, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Anniversary-Edition-Dovetail: - variables: {key: anniversary, weight: 90, search: Anniversary, type: edition_dovetail, allowed_libraries: movie} + variables: {key: anniversary, weight: 150, search: Anniversary, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Collectors-Edition-Dovetail: - variables: {key: collector, weight: 80, search: Collector, type: edition_dovetail, allowed_libraries: movie} + variables: {key: collector, weight: 140, search: Collector, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Diamond-Edition-Dovetail: + variables: {key: diamond, weight: 130, search: Diamond, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Platinum-Edition-Dovetail: + variables: {key: platinum, weight: 120, search: Platinum, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Directors-Cut-Dovetail: + variables: {key: directors, weight: 110, search: Director, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Final-Cut-Dovetail: + variables: {key: final, weight: 100, search: Final, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] International-Cut-Dovetail: - variables: {key: international, weight: 70, search: International, type: edition_dovetail, allowed_libraries: movie} + variables: {key: international, weight: 90, search: International, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Theatrical-Cut-Dovetail: - variables: {key: theatrical, weight: 60, search: Theatrical, type: edition_dovetail, allowed_libraries: movie} + variables: {key: theatrical, weight: 80, search: Theatrical, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] Ultimate-Cut-Dovetail: - variables: {key: ultimate, weight: 50, search: Ultimate, type: edition_dovetail, allowed_libraries: movie} + variables: {key: ultimate, weight: 70, search: Ultimate, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Alternate-Cut-Dovetail: + variables: {key: alternate, weight: 60, search: Alternate, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] - IMAX-E-Dovetail: - variables: {key: enhanced, weight: 40, type: edition_dovetail, allowed_libraries: movie} + Coda-Cut-Dovetail: + variables: {key: coda, weight: 50, search: Coda, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + IMAX-Enhanced-Dovetail: + variables: {key: enhanced, weight: 40, search: IMAX Enhanced, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] IMAX-Dovetail: variables: {key: imax, weight: 30, search: Imax, type: edition_dovetail, allowed_libraries: movie} @@ -296,15 +313,7 @@ overlays: Criterion-Dovetail: variables: {key: criterion, weight: 10, search: Criterion, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] - Coda-Dovetail: - variables: {key: codacut, weight: 9, search: Coda, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] - Diamond-Dovetail: - variables: {key: diamond, weight: 8, search: Diamond, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] - Platinum-Dovetail: - variables: {key: platinum, weight: 7, search: Platinum, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] + 4K-DV: variables: {key: 4k, alt: dv, weight: 150, type: resolution} template: [name: resolution, name: standard] @@ -356,41 +365,54 @@ overlays: HDR: variables: {key: "", alt: hdr, weight: 1, type: resolution} template: [name: resolution, name: standard] - Directors-Cut: - variables: {key: directorscut, weight: 150, search: Director, type: edition, allowed_libraries: movie} - template: [name: edition, name: standard] + Extended-Edition: - variables: {key: extended, weight: 140, search: Extend, type: edition, allowed_libraries: movie} + variables: {key: extended, weight: 190, search: Extend, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Uncut-Edition: - variables: {key: uncut, weight: 130, search: Uncut, type: edition, allowed_libraries: movie} + variables: {key: uncut, weight: 180, search: Uncut, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Unrated-Edition: - variables: {key: unrated, weight: 120, search: Unrat, type: edition, allowed_libraries: movie} + variables: {key: unrated, weight: 170, search: Unrat, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Special-Edition: - variables: {key: special, weight: 110, search: Special, type: edition, allowed_libraries: movie} - template: [name: edition, name: standard] - Final-Cut: - variables: {key: finalcut, weight: 100, search: Final, type: edition, allowed_libraries: movie} + variables: {key: special, weight: 160, search: Special, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Anniversary-Edition: - variables: {key: anniversary, weight: 90, search: Anniversary, type: edition, allowed_libraries: movie} + variables: {key: anniversary, weight: 150, search: Anniversary, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Collectors-Edition: - variables: {key: collector, weight: 80, search: Collector, type: edition, allowed_libraries: movie} + variables: {key: collector, weight: 140, search: Collector, type: edition, allowed_libraries: movie} + template: [name: edition, name: standard] + Diamond-Edition: + variables: {key: diamond, weight: 130, search: Diamond, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Platinum-Edition: + variables: {key: platinum, weight: 120, search: Platinum, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + Directors-Cut: + variables: {key: directors, weight: 110, search: Director, type: edition, allowed_libraries: movie} + template: [name: edition, name: standard] + Final-Cut: + variables: {key: final, weight: 100, search: Final, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] International-Cut: - variables: {key: international, weight: 70, search: International, type: edition, allowed_libraries: movie} + variables: {key: international, weight: 90, search: International, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Theatrical-Cut: - variables: {key: theatrical, weight: 60, search: Theatrical, type: edition, allowed_libraries: movie} + variables: {key: theatrical, weight: 80, search: Theatrical, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] Ultimate-Cut: - variables: {key: ultimate, weight: 50, search: Ultimate, type: edition, allowed_libraries: movie} + variables: {key: ultimate, weight: 70, search: Ultimate, type: edition, allowed_libraries: movie} + template: [name: edition, name: standard] + Alternate-Cut: + variables: {key: alternate, weight: 60, search: Alternate, type: edition_dovetail, allowed_libraries: movie} template: [name: edition, name: standard] - IMAX-E: - variables: {key: enhanced, weight: 40, type: edition, allowed_libraries: movie} + Coda-Cut: + variables: {key: coda, weight: 50, search: Coda, type: edition_dovetail, allowed_libraries: movie} + template: [name: edition, name: standard] + IMAX-Enhanced: + variables: {key: enhanced, weight: 40, search: IMAX Enhanced, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] IMAX: variables: {key: imax, weight: 30, type: edition, allowed_libraries: movie} @@ -401,15 +423,6 @@ overlays: Criterion: variables: {key: criterion, weight: 10, search: Criterion, type: edition, allowed_libraries: movie} template: [name: edition, name: standard] - Coda: - variables: {key: codacut, weight: 9, search: Coda, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] - Diamond: - variables: {key: diamond, weight: 8, search: Diamond, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] - Platinum: - variables: {key: platinum, weight: 7, search: Platinum, type: edition_dovetail, allowed_libraries: movie} - template: [name: edition, name: standard] diff --git a/docs/defaults/overlays/resolution.md b/docs/defaults/overlays/resolution.md index 84ca5700..62676d80 100644 --- a/docs/defaults/overlays/resolution.md +++ b/docs/defaults/overlays/resolution.md @@ -26,17 +26,21 @@ Recommendations: Editions overlay is designed to use the Editions field within P | Edition | Key | Weight | |:--------------------|:----------------|:-------| -| Director's Cut | `directorscut` | `150` | -| Extended Edition | `extended` | `140` | -| Uncut Edition | `uncut` | `130` | -| Unrated Edition | `unrated` | `120` | -| Special Edition | `special` | `110` | -| Final Cut | `finalcut` | `100` | -| Anniversary Edition | `anniversary` | `90` | -| Collector's Edition | `collector` | `80` | -| International Cut | `international` | `70` | -| Theatrical Cut | `theatrical` | `60` | -| Ultimate Cut | `ultimate` | `50` | +| Extended Edition | `extended` | `190` | +| Uncut Edition | `uncut` | `180` | +| Unrated Edition | `unrated` | `170` | +| Special Edition | `special` | `160` | +| Anniversary Edition | `anniversary` | `150` | +| Collector's Edition | `collector` | `140` | +| Diamond Edition | `diamond` | `130` | +| Platinum Edition | `platinum` | `120` | +| Director's Cut | `directors` | `110` | +| Final Cut | `final` | `100` | +| International Cut | `international` | `90` | +| Theatrical Cut | `theatrical` | `80` | +| Ultimate Cut | `ultimate` | `70` | +| Alternate Cut | `alternate` | `60` | +| Coda Cut | `coda` | `50` | | IMAX Enhanced | `enhanced` | `40` | | IMAX | `imax` | `30` | | Remastered | `remastered` | `20` | diff --git a/modules/meta.py b/modules/meta.py index 957c6634..c83ea7ca 100644 --- a/modules/meta.py +++ b/modules/meta.py @@ -631,10 +631,9 @@ class MetadataFile(DataFile): elif "styles" not in set_data: raise Failed("Set Data must have the styles attribute") styles = util.parse("Set Data", "styles", set_data["styles"], datatype="dictlist") - if "default" not in styles or not styles["default"]: + if "default" not in styles: raise Failed("Set Data styles attribute must have a default") - style = styles["default"][0] - if style not in styles: + if styles["default"] not in styles: raise Failed(f"Set Data styles default style not found. Options: {', '.join([s for s in styles])}") use_key = None if f"use_{set_key}" in methods: @@ -642,12 +641,13 @@ class MetadataFile(DataFile): logger.info(f"Use {set_key}: {use_key}") if use_key is False or (use_all is False and use_key is None): continue + style = styles["default"] if f"style_{set_key}" in methods: style = util.parse("Images", f"style_{set_key}", self.temp_vars, methods=methods, default=style) logger.info(f"Style {set_key}: {style}") if style not in styles: logger.warning(f"Image Set Warning: {set_key} has no style: {style} using default: {styles['default']}. Options: {', '.join([s for s in styles])}") - style = styles["default"][0] + style = styles["default"] if "collections" in set_data and set_data["collections"]: self.set_collections[set_key] = set_data["collections"] image_set = self.temp_vars[methods[f"set_file_{set_key}"]] if f"set_file_{set_key}" in methods else styles[style] @@ -1751,7 +1751,8 @@ class MetadataFile(DataFile): episodes = {} for episode in season.episodes(): episodes[episode.title] = episode - episodes[int(episode.index)] = episode + if episode.index: + episodes[int(episode.index)] = episode for episode_id, episode_dict in season_dict[season_methods["episodes"]].items(): updated = False logger.info("")