From a7ffd51c76733be98a150ae080690342725bd588 Mon Sep 17 00:00:00 2001 From: meisnate12 Date: Thu, 4 Jan 2024 15:24:53 -0500 Subject: [PATCH] [81] add convert and overlay summary --- CHANGELOG | 43 +++- LICENSE | 2 +- VERSION | 2 +- docs/config/libraries.md | 2 +- docs/defaults/both/audio_language.md | 208 ++---------------- docs/defaults/example.md | 204 ++++++++--------- docs/defaults/overlays.md | 8 +- docs/files/builders/imdb.md | 6 + docs/files/images/imdbfilter.png | Bin 0 -> 75644 bytes docs/files/overlays.md | 4 +- docs/notused/playlists.md | 2 +- docs/pmm/faqs.md | 121 +++++++++- docs/pmm/guides/ratings.md | 12 +- docs/pmm/install/local.md | 11 - docs/pmm/install/overview.md | 8 +- .../install/wt/wt-02-config-bad-library.md | 4 +- docs/pmm/install/wt/wt-03-lib-err-and-fix.md | 16 -- docs/pmm/install/wt/wt-07-overlay-add.md | 2 +- docs/pmm/install/wt/wt-09-next-steps.md | 4 +- mkdocs.yml | 2 +- modules/convert.py | 20 +- modules/overlays.py | 2 +- modules/tmdb.py | 8 +- modules/tvdb.py | 16 +- plex_meta_manager.py | 67 +++++- 25 files changed, 390 insertions(+), 384 deletions(-) create mode 100644 docs/files/images/imdbfilter.png diff --git a/CHANGELOG b/CHANGELOG index f51d9837..d4e79a00 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,24 +1,51 @@ # Requirements Update (requirements will need to be reinstalled) +Updated arrapi requirement to 1.4.7 Updated GitPython requirement to 3.1.40 +Updated lxml requirement to 5.0.0 Updated num2words requirement to 0.5.13 -Updated pillow requirement to 10.1.0 -Updated PlexAPI requirement to 4.15.6 +Updated pillow requirement to 10.2.0 +Updated PlexAPI requirement to 4.15.7 +Updated psutil requirement to 5.9.7 Updated ruamel.yaml requirement to 0.18.5 Updated schedule requirement to 1.2.1 -Updated tmdbapis requirement to 1.2.2 +Updated tmdbapis requirement to 1.2.6 +Added setuptools requirement at 69.0.3 # New Features -Introduced batchMultiEdits - this is a major feature introduction that we hope will increase performance for all users. This is a behind-the-scenes change that the user does not need to do anything to take advantage of. -Redesigned Wiki with new landing page and new layout using mkdocs. +Introduced (Run Order)[https://metamanager.wiki/en/latest/config/settings/#run-order] attribute which allows the user to amend the way that each library is executed. +Introduced [IMDb Search Builder](https://metamanager.wiki/en/latest/files/builders/imdb/#imdb-search) following IMDb UI rework. +- `imdb_list` can no longer be used for Title or Keyword Searches, these must be transferred to `imdb_search` builders. +Introduced [IMDb Award Builder](https://metamanager.wiki/en/latest/files/builders/imdb/#imdb-award). +Added IMDb Awards to [Dynamic Collection Types](https://metamanager.wiki/en/latest/files/dynamic_types/#imdb-awards) Reintroduced [Flixpatrol Builder](https://metamanager.wiki/en/latest/builders/flixpatrol/) following introduction of paywalled API. +Added a JSON Schema file which will assist users in validating their configuration file when using a code-aware text editor such as VSCode and VSCodium. This is a work in progress and will help identify basic errors such as specifying "yes" when the available options are "true" and "false" +- If you run into any validation issues which you don't understand, ask in our Discord Server + +# Updates +Redesigned Wiki with new landing page and new layout using mkdocs. +Introduced batchMultiEdits - this is a major feature introduction that we hope will increase performance for all users. This is a behind-the-scenes change that the user does not need to do anything to take advantage of. +Updated `overlay_path` to `overlay_files` and split `metadata_path` into `collection_files` and `metadata_files`. +Moved `remove_overalys`, `reapply_overlays`, and `reset_overlays` to the [library level](https://metamanager.wiki/en/latest/config/libraries/#remove-overlays) instead of under `overlay_path`. +Removed `schedule` from under `overlay_path` and replaced it with the library level attribute [`schedule_overlays`](https://metamanager.wiki/en/nightly/config/libraries/#schedule-overlays). +Removed library-level and collection-level logging, all logging is handled in the meta.log +Added the `score` attribute to the [`anilist_userlist`](https://metamanager.wiki/en/latest/files/builders/anilist/#anilist-userlist) builder. +Added the `episode_actor` attribute to the [`plex_search`](https://metamanager.wiki/en/latest/files/builders/plex/#plex-search) builder. + +# Defaults +[PMM Default Award Files](https://metamanager.wiki/en/latest/defaults/files/#award-collections) have been reworked to use the `imdb_award` builder and `imdb_awards` dynamic collection type. Reintroduced [Flixpatrol Chart Defaults Collections](https://metamanager.wiki/en/latest/defaults/chart/flixpatrol/). Added Trakt Anticipated to [Trakt Chart Defaults Collections](https://metamanager.wiki/en/latest/defaults/chart/trakt/). -Added information on Python 3.12 support in the [Local Install Guides](https://metamanager.wiki/en/nightly/pmm/install/guides/local/#if-you-are-running-python-312) -Removed library- and collection-level logging, all logging is handled in the meta.log +Added DE Content Rating as a PMM Default [Collection](https://metamanager.wiki/en/latest/defaults/both/content_rating_de/) and [Overlay](https://metamanager.wiki/en/latest/defaults/overlays/content_rating_de/) +Added `schedule` and `schedule_<>` template variables to most defaults. # Bug Fixes Fixed `(404) not_found` error that presented itself in PMS 1.32.7, as outlined [here](https://discord.com/channels/822460010649878528/1099773891733377065/1174751954367422585) Fixed issue that would prevent `file_poster` from overriding `url_poster` in the PMM Defaults. Removed `--cache-libraries` Environment Variable due to inconsistent behaviour that could cause issues. Fixed issue with `mass_poster_update` incorrectly updating episode posters when it shouldn't. -Fixed issue with `delete_collection_named` running in a collection even if the collection wasn't scheduled to run. \ No newline at end of file +Fixed issue with `delete_collection_named` running in a collection even if the collection wasn't scheduled to run. + + +Various other Minor Fixes + +GitHub issues closed: #1438, #1542, #1563, #1568, #1571, #1585, #1609, #1618, #1621, #1623, #1632, #1636, #1642, #1662, #1666, #1670, #1674, #1688, #1705, #1712, #1749, #1781, #1772, #1786, \ No newline at end of file diff --git a/LICENSE b/LICENSE index 4524b875..ed0a0a4a 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2023 meisnate12 +Copyright (c) 2024 meisnate12 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/VERSION b/VERSION index e11374b9..7f173ce8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.19.1-develop80 +1.19.1-develop81 diff --git a/docs/config/libraries.md b/docs/config/libraries.md index 8d1e6378..5c0defd0 100644 --- a/docs/config/libraries.md +++ b/docs/config/libraries.md @@ -649,8 +649,8 @@ This example is an advanced version of the library mappings which highlights som - file: config/TV Shows.yml - pmm: tmdb - pmm: network + remove_overlays: false overlay_files: - - remove_overlays: false - file: config/Overlays.yml TV Shows On Second Plex: library_name: TV Shows diff --git a/docs/defaults/both/audio_language.md b/docs/defaults/both/audio_language.md index 1b14a950..8fb37ff7 100644 --- a/docs/defaults/both/audio_language.md +++ b/docs/defaults/both/audio_language.md @@ -104,195 +104,25 @@ Note that the `template_variables:` section only needs to be used if you do want If you want to customize these values, use the methods described above. - **Default `include`: + **Default `include`:** ```yaml - include: - - ab # Abkhazian - - aa # Afar - - af # Afrikaans - - ak # Akan - - sq # Albanian - - am # Amharic - - ar # Arabic - - an # Aragonese - - hy # Armenian - - as # Assamese - - av # Avaric - - ae # Avestan - - ay # Aymara - - az # Azerbaijani - - bm # Bambara - - ba # Bashkir - - eu # Basque - - be # Belarusian - - bn # Bengali - - bi # Bislama - - bs # Bosnian - - br # Breton - - bg # Bulgarian - - my # Burmese - - ca # Catalan, Valencian - - km # Central Khmer - - ch # Chamorro - - ce # Chechen - - ny # Chichewa, Chewa, Nyanja - - zh # Chinese - - cu # Church Slavic, Old Slavonic, Church Slavonic, Old Bulgarian, Old Church Slavonic - - cv # Chuvash - - kw # Cornish - - co # Corsican - - cr # Cree - - hr # Croatian - - cs # Czech - - da # Danish - - dv # Divehi, Dhivehi, Maldivian - - nl # Dutch, Flemish - - dz # Dzongkha - - en # English - - eo # Esperanto - - et # Estonian - - ee # Ewe - - fo # Faroese - - fj # Fijian - - fil # Filipino - - fi # Finnish - - fr # French - - ff # Fulah - - gd # Gaelic, Scottish Gaelic - - gl # Galician - - lg # Ganda - - ka # Georgian - - de # German - - el # Greek, Modern (1453–) - - gn # Guarani - - gu # Gujarati - - ht # Haitian, Haitian Creole - - ha # Hausa - - he # Hebrew - - hz # Herero - - hi # Hindi - - ho # Hiri Motu - - hu # Hungarian - - is # Icelandic - - io # Ido - - ig # Igbo - - id # Indonesian - - ia # Interlingua (International Auxiliary Language Association) - - ie # Interlingue, Occidental - - iu # Inuktitut - - ik # Inupiaq - - ga # Irish - - it # Italian - - ja # Japanese - - jv # Javanese - - kl # Kalaallisut, Greenlandic - - kn # Kannada - - kr # Kanuri - - ks # Kashmiri - - kk # Kazakh - - ki # Kikuyu, Gikuyu - - rw # Kinyarwanda - - ky # Kirghiz, Kyrgyz - - kv # Komi - - kg # Kongo - - ko # Korean - - kj # Kuanyama, Kwanyama - - ku # Kurdish - - lo # Lao - - la # Latin - - lv # Latvian - - li # Limburgan, Limburger, Limburgish - - ln # Lingala - - lt # Lithuanian - - lu # Luba-Katanga - - lb # Luxembourgish, Letzeburgesch - - mk # Macedonian - - mg # Malagasy - - ms # Malay - - ml # Malayalam - - mt # Maltese - - gv # Manx - - mi # Maori - - mr # Marathi - - mh # Marshallese - - myn # Mayan - - mn # Mongolian - - na # Nauru - - nv # Navajo, Navaho - - ng # Ndonga - - ne # Nepali - - nd # North Ndebele - - se # Northern Sami - - no # Norwegian - - nb # Norwegian Bokmål - - nn # Norwegian Nynorsk - - oc # Occitan - - oj # Ojibwa - - or # Oriya - - om # Oromo - - os # Ossetian, Ossetic - - pi # Pali - - ps # Pashto, Pushto - - fa # Persian - - pl # Polish - - pt # Portuguese - - pa # Punjabi, Panjabi - - qu # Quechua - - ro # Romanian, Moldavian, Moldovan - - rm # Romansh - - rom # Romany - - rn # Rundi - - ru # Russian - - sm # Samoan - - sg # Sango - - sa # Sanskrit - - sc # Sardinian - - sr # Serbian - - sn # Shona - - ii # Sichuan Yi, Nuosu - - sd # Sindhi - - si # Sinhala, Sinhalese - - sk # Slovak - - sl # Slovenian - - so # Somali - - nr # South Ndebele - - st # Southern Sotho - - es # Spanish, Castilian - - su # Sundanese - - sw # Swahili - - ss # Swati - - sv # Swedish - - tl # Tagalog - - ty # Tahitian - - tai # Tai - - tg # Tajik - - ta # Tamil - - tt # Tatar - - te # Telugu - - th # Thai - - bo # Tibetan - - ti # Tigrinya - - to # Tonga (Tonga Islands) - - ts # Tsonga - - tn # Tswana - - tr # Turkish - - tk # Turkmen - - tw # Twi - - ug # Uighur, Uyghur - - uk # Ukrainian - - ur # Urdu - - uz # Uzbek - - ve # Venda - - vi # Vietnamese - - vo # Volapük - - wa # Walloon - - cy # Welsh - - fy # Western Frisian - - wo # Wolof - - xh # Xhosa - - yi # Yiddish - - yo # Yoruba - - za # Zhuang, Chuang - - zu # Zulu + include: {% + include-markdown "../../../defaults/both/audio_language.yml" + comments=false + preserve-includer-indent=false + start="include:" + end="key_name_override:" + %} ``` + + **Default `key_name_override`:** + + ```yaml + key_name_override: {% + include-markdown "../../../defaults/both/audio_language.yml" + comments=false + preserve-includer-indent=false + start="key_name_override:" + %} + ``` \ No newline at end of file diff --git a/docs/defaults/example.md b/docs/defaults/example.md index 3d42af42..cc7d7fbd 100644 --- a/docs/defaults/example.md +++ b/docs/defaults/example.md @@ -11,52 +11,54 @@ collection_mode: hide # hide the collections within the "library" tab in Plex. placeholder_imdb_id: tt8579674 # 1917 (2019) placeholder id for the separators, avoids a plex bug. collection_files: - - pmm: separator_award # An "index card" - - pmm: bafta # BAFTA Awards - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: golden # Golden Globes Awards - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: oscars # The Oscars - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: separator_chart # An "index card" - - pmm: basic # Some basic chart collections - - pmm: tmdb # TMDb Charts (Popular, Trending, etc.) - - pmm: audio_language # English, French, Arabic, German, etc. audio language - - pmm: resolution # 4K HDR, 1080P FHD, etc. with the standards style - template_variables: - style: standards - - pmm: studio # DreamWorks Studios, Lucasfilm Ltd, etc. - - pmm: seasonal # Christmas, Halloween, etc. - template_variables: # Disable any US-specific seasonal collections - schedule_independence: never - schedule_thanksgiving: never - schedule_memorial: never - schedule_labor: never - - pmm: streaming # Streaming on Disney+, Netflix, etc. - template_variables: - originals_only: true # Only create collections for Original Content (i.e. Netflix Originals) - - pmm: universe # Marvel Cinematic Universe, Wizarding World, etc. + - pmm: separator_award # An "index card" + - pmm: bafta # BAFTA Awards + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: golden # Golden Globes Awards + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: oscars # The Oscars + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: separator_chart # An "index card" + - pmm: basic # Some basic chart collections + - pmm: tmdb # TMDb Charts (Popular, Trending, etc.) + - pmm: audio_language # English, French, Arabic, German, etc. audio language + - pmm: resolution # 4K HDR, 1080P FHD, etc. with the standards style + template_variables: + style: standards + - pmm: studio # DreamWorks Studios, Lucasfilm Ltd, etc. + - pmm: seasonal # Christmas, Halloween, etc. + template_variables: # Disable any US-specific seasonal collections + schedule_independence: never + schedule_thanksgiving: never + schedule_memorial: never + schedule_labor: never + - pmm: streaming # Streaming on Disney+, Netflix, etc. + template_variables: + originals_only: true # Only create collections for Original Content (i.e. Netflix Originals) + - pmm: universe # Marvel Cinematic Universe, Wizarding World, etc. + + remove_overlays: false # Set to true if you want to remove overlays + reapply_overlays: false # If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays - can cause image bloat + #reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb - can cause image bloat + overlay_files: - - remove_overlays: false # Set to true if you want to remove overlays - # - reapply_overlays: false # If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays - can cause image bloat - # - reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb - can cause image bloat - - pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. style: standard/compact. compact is default - - pmm: resolution # 4K HDR, 1080P FHD, etc. - - pmm: ribbon # Used for ribbon in bottom right - - pmm: streaming # Streaming on Disney+, Netflix, etc. - - pmm: video_format # Remux, DVD, Blu-Ray, etc. in bottom left + - pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. style: standard/compact. compact is default + - pmm: resolution # 4K HDR, 1080P FHD, etc. + - pmm: ribbon # Used for ribbon in bottom right + - pmm: streaming # Streaming on Disney+, Netflix, etc. + - pmm: video_format # Remux, DVD, Blu-Ray, etc. in bottom left settings: asset_directory: - - config/assets + - config/assets operations: split_duplicates: false @@ -69,70 +71,70 @@ collection_mode: hide # hide the collections within the "library" tab in Plex. placeholder_imdb_id: tt1190634 # The Boys (2019) placeholder id for the separators, avoids a plex bug. collection_files: - - pmm: separator_award # An "index card" - - pmm: bafta # BAFTA Awards - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: golden # Golden Globes Awards - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: oscars # The Oscars - template_variables: # Show collections from current_year-10 onwards. - data: - starting: current_year-10 - ending: current_year - - pmm: separator_chart # An "index card" - - pmm: basic # Some basic chart collections - - pmm: tmdb # TMDb Charts (Popular, Trending, etc.) - - pmm: audio_language # English, French, Arabic, German, etc. audio language - - pmm: resolution # 4K HDR, 1080P FHD, etc. with the standards style - template_variables: - style: standards - - pmm: network # ABC, CBC, NBC, FOX, etc. - - pmm: streaming # Streaming on Disney+, Netflix, etc. - template_variables: - originals_only: true # Only create collections for Original Content (i.e. Netflix Originals) + - pmm: separator_award # An "index card" + - pmm: bafta # BAFTA Awards + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: golden # Golden Globes Awards + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: oscars # The Oscars + template_variables: # Show collections from current_year-10 onwards. + data: + starting: current_year-10 + ending: current_year + - pmm: separator_chart # An "index card" + - pmm: basic # Some basic chart collections + - pmm: tmdb # TMDb Charts (Popular, Trending, etc.) + - pmm: audio_language # English, French, Arabic, German, etc. audio language + - pmm: resolution # 4K HDR, 1080P FHD, etc. with the standards style + template_variables: + style: standards + - pmm: network # ABC, CBC, NBC, FOX, etc. + - pmm: streaming # Streaming on Disney+, Netflix, etc. + template_variables: + originals_only: true # Only create collections for Original Content (i.e. Netflix Originals) + remove_overlays: false # Set to true if you want to remove overlays + reapply_overlays: false # If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays - can cause image bloat + #reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb - can cause image bloat overlay_files: - - remove_overlays: false # Set to true if you want to remove overlays - # - reapply_overlays: false # If you are doing a lot of testing and changes like me, keep this to true to always reapply overlays - can cause image bloat - # - reset_overlays: tmdb # if you want to reset the poster to default poster from tmdb - can cause image bloat - - pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. on show and episode - - pmm: audio_codec - template_variables: - builder_level: episode - - pmm: episode_info # S##E## information in bottom right on episode - template_variables: - builder_level: episode - - pmm: resolution # 4K HDR, 1080P FHD, etc. on show, episode, and season - - pmm: resolution - template_variables: - builder_level: episode - - pmm: resolution - template_variables: - builder_level: season - - pmm: ribbon # Used for ribbon in bottom right on show - - pmm: status # Airing, Returning, Ended, Canceled on show - - pmm: versions # Will show duplicates for that media item on show and episode - - pmm: versions - template_variables: - builder_level: episode - - pmm: video_format # Remux, DVD, Blu-Ray, etc. in bottom left on show, episode, and season - - pmm: video_format - template_variables: - builder_level: episode + - pmm: audio_codec # FLAC, DTS-X, TrueHD, etc. on show and episode + - pmm: audio_codec + template_variables: + builder_level: episode + - pmm: episode_info # S##E## information in bottom right on episode + template_variables: + builder_level: episode + - pmm: resolution # 4K HDR, 1080P FHD, etc. on show, episode, and season + - pmm: resolution + template_variables: + builder_level: episode + - pmm: resolution + template_variables: + builder_level: season + - pmm: ribbon # Used for ribbon in bottom right on show + - pmm: status # Airing, Returning, Ended, Canceled on show + - pmm: versions # Will show duplicates for that media item on show and episode + - pmm: versions + template_variables: + builder_level: episode + - pmm: video_format # Remux, DVD, Blu-Ray, etc. in bottom left on show, episode, and season + - pmm: video_format + template_variables: + builder_level: episode settings: asset_directory: - - config/assets + - config/assets operations: split_duplicates: false assets_for_all: false playlist_files: - - pmm: playlist - template_variables: - libraries: Movies, TV Shows # Must match the names of your libraries in Plex. + - pmm: playlist + template_variables: + libraries: Movies, TV Shows # Must match the names of your libraries in Plex. ``` diff --git a/docs/defaults/overlays.md b/docs/defaults/overlays.md index 20ce0734..1f29d466 100644 --- a/docs/defaults/overlays.md +++ b/docs/defaults/overlays.md @@ -33,8 +33,8 @@ libraries: ```yaml libraries: Movies: + remove_overlays: false overlay_files: - - remove_overlays: false - pmm: resolution # 1, 4 - pmm: audio_codec # 2 - pmm: mediastinger # 3 @@ -78,8 +78,8 @@ libraries: ```yaml libraries: TV Shows: + remove_overlays: false overlay_files: - - remove_overlays: false - pmm: resolution # 1 - pmm: audio_codec # 2 - pmm: mediastinger # 3 @@ -120,8 +120,8 @@ libraries: ```yaml libraries: TV Shows: + remove_overlays: false overlay_files: - - remove_overlays: false - pmm: resolution # 1 template_variables: builder_level: season @@ -145,8 +145,8 @@ libraries: ```yaml libraries: TV Shows: + remove_overlays: false overlay_files: - - remove_overlays: false - pmm: resolution # 1 template_variables: builder_level: episode diff --git a/docs/files/builders/imdb.md b/docs/files/builders/imdb.md index 049851df..bd4e401e 100644 --- a/docs/files/builders/imdb.md +++ b/docs/files/builders/imdb.md @@ -138,6 +138,12 @@ Finds every item in an [IMDb Event](https://www.imdb.com/event/). | `category_filter` | Filter by the Category heading. Can only accept multiple values as a list.
**Options:** Any Gold/Yellow Category heading on an Event Page. | | `winning` | Filter by if the Item Won the award.
**Options:** `true`/`false`
**Default:** `false` | +??? example "Example Award and Category Filter" + + In the below example, "Grand Jury Prize" is the award_filter, and "Documentary" is the `category_filter`. You can use both of these filters together. + + ![imdbfilter.png](../images/imdbfilter.png) + 1. When using multiple years the only available Event IDs are: ```yaml diff --git a/docs/files/images/imdbfilter.png b/docs/files/images/imdbfilter.png new file mode 100644 index 0000000000000000000000000000000000000000..b29ce0a6a27ad939fbeea40838c598710241f4df GIT binary patch literal 75644 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 literal 0 HcmV?d00001 diff --git a/docs/files/overlays.md b/docs/files/overlays.md index 22295aa6..5503fa24 100644 --- a/docs/files/overlays.md +++ b/docs/files/overlays.md @@ -50,8 +50,8 @@ I then call "MyOverlays.yml" in my [Configuration File](../config/overview.md) w ```yaml libraries: Movies: #(1)! + remove_overlays: false overlay_files: - - remove_overlays: false - file: config/MyOverlays.yml #(2)! ``` @@ -112,7 +112,7 @@ There is an attribute called `reapply_overlays` which, when set to true, will fo * Ensure `reapply_overlays` is set to `false` if you see it in your Configuration File. If it has previously been set to true we recommend using [Plex Image Cleanup](../pmm/scripts/image-cleanup.md) to get rid of the bloat. -To remove all overlays from your library, add `remove_overlays: true` to the `overlay_files` [Libraries Attribute](../config/libraries.md).** +To remove all overlays from your library, add the [`remove_overlays` library attribute](../config/libraries.md#remove-overlays) set to `true`.** * See the above note on Plex Meta Manager not removing the overlaid images, this is still true here. diff --git a/docs/notused/playlists.md b/docs/notused/playlists.md index 2d83d0a7..4972396e 100644 --- a/docs/notused/playlists.md +++ b/docs/notused/playlists.md @@ -33,8 +33,8 @@ libraries: - file: config/TV Shows.yml - pmm: tmdb - pmm: network + remove_overlays: false overlay_files: - - remove_overlays: false - file: config/Overlays.yml playlist_files: - file: config/playlists.yml diff --git a/docs/pmm/faqs.md b/docs/pmm/faqs.md index 3c0c6194..bd0ed484 100644 --- a/docs/pmm/faqs.md +++ b/docs/pmm/faqs.md @@ -2,7 +2,7 @@ search: boost: 4 --- -# Frequently Asked Questions +# FAQ & Knowledgebase This page aims to provide knowledge based on combined user experience, and to answer the frequent questions that we are asked in our @@ -12,7 +12,7 @@ If you have a question that is not answered here, try entering some keywords int This sections aims to answer the most commonly asked questions that users have. -#### PMM Versions & Updating +### PMM Versions & Updating The commands here should work in any terminal on the respective platforms, but that can't be guaranteed. If you know shortcuts for some of these things, go ahead and use them. For example, in many terminals, `cd ~/Plex-Meta-Manager` is the same as `cd /Users/YOUR_USERNAME/Plex-Meta-Manager`. @@ -300,7 +300,7 @@ Your PMM installation may not be located at the paths referenced below. These a If you are using Docker on a NAS like Synology or UNRaid, they will provide some means of doing those two things. -#### Performance & Scheduling +### Performance & Scheduling ??? question "Any tips on increasing PMM performance?" @@ -347,7 +347,7 @@ Your PMM installation may not be located at the paths referenced below. These a - pmm: resolution ``` -#### Errors & Issues +### Errors & Issues ??? question "Why doesn't PMM let me enter my authentication information for Trakt/MAL?" @@ -378,4 +378,115 @@ Your PMM installation may not be located at the paths referenced below. These a :two: Check the plex logs (container or other) for the "Busy DB Sleeping for 200ms) - There is nothing that PMM or our support staff can really do to resolve a 500 error. \ No newline at end of file + There is nothing that PMM or our support staff can really do to resolve a 500 error. + +## Knowledgebase + +This section aims to provide some insight as to articles/information that we feel is important to document as they may pop up infrequently but often enough to require entry here. + +### PMM 1.20 Release Changes + +With the release of PMM 1.20, several changes have taken place that we would like to make you aware of, please read the below document thoroughly! + +??? blank "`metadata_path` and `overlay_path` are now legacy attributes (click to expand)." + +
+ + The attributes `metadata_path` and `overlay_path` are now legacy, and will likely produce an error `metadata attribute is required` when running PMM. + + We have new attributes: `collection_files`, `overlay_files` and `metadata_files` which you can read more about on the [Libraries Attributes page](../config/libraries.md#attributes) + + Whilst this error can be ignored, we strongly advise you to move over to the new attributes, which can be done following this guidance: + + :fontawesome-solid-1: If your YAML file contains `collections:` or is a PMM Defaults Collection File then it belongs under `collection_files`. + + :fontawesome-solid-2: If your YAML file contains `overlays:` or is a PMM Defaults Overlay File then it belongs under `overlay_files` + + :fontawesome-solid-3: If your YAML file contains `metadata:` then it belongs under `metadata_files` + + If your file contains both `collections:` and `metadata:` then it should go in both `collection_files` and `metadata_files` + + If you are unsure on the above, the majority of `metadata_path` items will now fall under `collection_files`, but you can ask on the Discord. + + Below is an example of the new attributes in use: + + ```yaml + libraries: + Movies: + collection_files: #(1)! + - file: config/Movies.yml #(2)! + - pmm: imdb #(2)! + metadata_files: #(3)! + - file: config/MetadataEdits.yml #(4)! + overlay_files: #(5)! + - file: config/Overlays.yml #(6)! + - pmm: audio_codec #(6)! + ``` + + 1. This attribute used to be `metadata_path` and defines files that will relate to Collections + 2. These files are placed within `collection_files` because they define how Collections are built/maintained. + 3. This attribute used to be `metadata_path` and defines files that will relate to Metadata Edits + 4. These files are placed within `metadata_files` because they define Metadata Edits rather than collections. + 5. This attribute used to be `overlay_path` and defines files that will relate to Overlays + 6. These files are placed within `overlay_files` because they define how Overlays are built/maintained. + +??? blank "`remove_` `reset_` `reapply_` and `schedule_` attributes for `overlays` are now Library Attributes (click to expand)." + +
+ + The attributes `remove_overlays`, `reset_overlays`, `reapply_overlays` and `schedule_overlays` are now Library Attributes and are called at the library level rather than within `overlay_path. + + This change has been made to make these attributes consistent with other attributes of a similar nature. + + Whilst the previous method still works, we strongly advise you to move over to the new attributes, which can be done by looking at the following sample YAML: + + ```yaml + libraries: + Movies: + remove_overlays: false + reapply_overlays: false #(1)! + reset_overlays: false + schedule_overlays: daily + overlay_files: + - pmm: audio_codec + ``` + + 1. We strongly advise never setting this to `true` as it can cause [Image Bloat](scripts/image-cleanup.md) + +??? blank "`imdb_list` no longer works for Title or Keyword search URLs (click to expand)." + +