# Requirements Update (requirements will need to be reinstalled)
# Requirements Update (requirements will need to be reinstalled)
Updated lxml requirement to 5.1.0
Updated gitpython requirement to 3.1.41
Updated gitpython requirement to 3.1.41
Updated lxml requirement to 5.1.0
Updated psutil requirement to 5.9.8
Updated python-dotenv requirement to 1.0.1
# New Features
# New Features
Added `monitor_existing` to sonarr and radarr. To update the monitored status of items existing in plex to match the `monitor` declared.
Added `monitor_existing` to sonarr and radarr. To update the monitored status of items existing in plex to match the `monitor` declared.
@ -10,6 +12,7 @@ Added `monitor_existing` to sonarr and radarr. To update the monitored status of
Added new [BoxOfficeMojo Builder](https://metamanager.wiki/en/latest/files/builders/mojo/) - credit to @nwithan8 for the suggestion and initial code submission
Added new [BoxOfficeMojo Builder](https://metamanager.wiki/en/latest/files/builders/mojo/) - credit to @nwithan8 for the suggestion and initial code submission
Added new [`trakt_chart` attributes](https://metamanager.wiki/en/latest/files/builders/trakt/#trakt-chart) `network_ids`, `studio_ids`, `votes`, `tmdb_ratings`, `tmdb_votes`, `imdb_ratings`, `imdb_votes`, `rt_meters`, `rt_user_meters`, `metascores` and removed the deprecated `network` attribute
Added new [`trakt_chart` attributes](https://metamanager.wiki/en/latest/files/builders/trakt/#trakt-chart) `network_ids`, `studio_ids`, `votes`, `tmdb_ratings`, `tmdb_votes`, `imdb_ratings`, `imdb_votes`, `rt_meters`, `rt_user_meters`, `metascores` and removed the deprecated `network` attribute
Added [Trakt and MyAnimeList Authentication Page](https://metamanager.wiki/en/latest/config/auth/) allowing users to authenticate against those services directly from the wiki. credit to @chazlarson for developing the script
Added [Trakt and MyAnimeList Authentication Page](https://metamanager.wiki/en/latest/config/auth/) allowing users to authenticate against those services directly from the wiki. credit to @chazlarson for developing the script
Trakt Builder `trakt_userlist` value `recommendations` removed and `favorites` added.
@ -410,7 +410,7 @@ The available setting attributes which can be set at each level are outlined bel
```yaml
```yaml
settings:
settings:
sync_mode: sync
default_collection_order: release
```
```
??? blank "`minimum_items` - Used to control minimum items requires to build a collection/playlist.<aclass="headerlink"href="#minimum-items"title="Permanent link">¶</a>"
??? blank "`minimum_items` - Used to control minimum items requires to build a collection/playlist.<aclass="headerlink"href="#minimum-items"title="Permanent link">¶</a>"
Builders use third-party services to source items to be added to the collection. Multiple builders can be used in the same collection from a variety of sources listed below.
Builders use third-party services to source items to be added to the collection. Multiple builders can be used in the same collection from a variety of sources listed below.
Creates Smart Collections based on the metadata inside your Plex Server. Results are dynamic and will update as your library updates without the need to re-run PMM (Collections Only)
**[Plex (Smart)](../smart)** builders create Smart Collections based on the metadata inside your Plex Server. Results are dynamic and will update as your library updates without the need to re-run PMM.
[:octicons-alert-24:](""){ .card-link title="Cannot be used for Overlays unless utilizing Smart Labels" }
- title: Plex (Dumb)
content: Grabs items based on the metadata inside your Plex Server. Results are static and require PMM to re-run to update.
??? quicklink "Popular Builders"
image: ../../../assets/icons/plex_dumb.png
url: "../plex"
- [:simple-plex: Smart Label](../smart/#smart-label) - Create a Smart Collection based on a specific label. The label can be generated by PMM based on criteria.
- [:simple-plex: Smart Filter](../smart/#smart-filter) - Create a Smart Collection based on the filter parameters provided.
- title: TMDb
content: Grabs items based on metadata and lists on TheMovieDb.org
- [:material-police-badge: FlixPatrol Top](../flixpatrol/#flixpatrol-top) - Gets every item from FlixPatrol's Top Platform Lists based on the attributes provided.
- [:simple-myanimelist: MyAnimeList Popular](../myanimelist/#myanimelist-most-popular) - Gets every anime in MyAnimeList's Most Popular Anime list
- [:simple-myanimelist: MyAnimeList Top All](../myanimelist/#myanimelist-top-all) - Gets every anime in MyAnimeList's Top All Anime list
- [:simple-myanimelist: MyAnimeList Top Airing](../myanimelist/#myanimelist-top-airing) - Gets every anime in MyAnimeList's Top Airing Anime list
- [:simple-myanimelist: MyAnimeList Suggested](../myanimelist/#myanimelist-suggested) - Gets every suggested anime in by MyAnimeList for the authorized user
| `userlist` | **Description:** Which Trakt userlist to query<br>**Values:**<tableclass="clearTable"><tr><td>`watchlist`</td><td>Trakt User's Watchlist</td></tr><tr><td>`recommendations`</td><td>Trakt User's Personal Recommendations list</td></tr><tr><td>`watched`</td><td>Trakt User's Personal Watched list</td></tr><tr><td>`collected`</td><td>Trakt User's Personal Collected list</td></tr></table> |
| `userlist` | **Description:** Which Trakt userlist to query<br>**Values:**<tableclass="clearTable"><tr><td>`watchlist`</td><td>Trakt User's Watchlist</td></tr><tr><td>`favorites`</td><td>Trakt User's Personal Favorite list</td></tr><tr><td>`watched`</td><td>Trakt User's Personal Watched list</td></tr><tr><td>`collection`</td><td>Trakt User's Personal Collection list</td></tr></table> |
| `user` | **Description:** The User who's user lists you want to query.<br>**Default:** `me`<br>**Values:** Username of User or `me` for the authenticated user. |
| `user` | **Description:** The User who's user lists you want to query.<br>**Default:** `me`<br>**Values:** Username of User or `me` for the authenticated user. |
| `sort_by` | **Description:** How to sort the results<br>**Default:** `rank`<br>**Values:** `rank`, `added`, `released`, `title`|
| `sort_by` | **Description:** How to sort the results<br>**Default:** `rank`<br>**Values:** `rank`, `added`, `released`, `title` |
| `WARNING` | `Convert Error: No TVDb ID Found for TMDb ID: 15733` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the TMDb record for "The Two Mrs. Grenvilles" [ID 15733] didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "The Two Mrs. Grenvilles" is not listed on TVDB.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Warning: No TVDb ID Found for TMDb ID: 15733` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites.</br>For example, at the time of that error, the TMDb record for "The Two Mrs. Grenvilles" [ID 15733] didn't contain a TVDb ID.</br>This could be because the record just hasn't been updated, or because "The Two Mrs. Grenvilles" is not listed on TVDB.</br>The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Error: AniDB ID not found for AniList ID: 21400` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Warning: AniDB ID not found for AniList ID: 21400` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Error: No TVDb ID or IMDb ID found for AniDB ID: 14719` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Warning: No TVDb ID or IMDb ID found for AniDB ID: 14719` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Error: AniDB ID not found for MyAnimeList ID: 36838` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
| `WARNING` | `Convert Warning: AniDB ID not found for MyAnimeList ID: 36838` | Online sources are missing information | These sorts of errors indicate that the thing can't be cross-referenced between sites. The fix is for someone [like you, perhaps] to go to the relevant site and fill in the missing data. |
"description":"Ensures all existing shows in collections match your monitor setting.\nUse the sonarr_monitor_existing Sonarr Setting in the collection definition to match the monitor setting per collection.",
"description":"Ensures all existing shows in collections match your monitor setting.\nUse the sonarr_monitor_existing Sonarr Setting in the collection definition to match the monitor setting per collection.",
"type":"boolean"
},
"quality_profile":{
"quality_profile":{
"type":"string"
"type":"string"
},
},
@ -505,6 +513,9 @@
"monitor":{
"monitor":{
"type":"boolean"
"type":"boolean"
},
},
"monitor_existing":{
"type":"boolean"
},
"quality_profile":{
"quality_profile":{
"type":"string"
"type":"string"
},
},
@ -566,6 +577,9 @@
"monitor":{
"monitor":{
"type":"boolean"
"type":"boolean"
},
},
"monitor_existing":{
"type":"boolean"
},
"quality_profile":{
"quality_profile":{
"type":"string"
"type":"string"
},
},
@ -595,72 +609,72 @@
"properties":{
"properties":{
"cache":{
"cache":{
"type":"boolean",
"type":"boolean",
"description":"Used to control PMM's cache database.Allow Plex Meta Manager to create and maintain a local cache database for faster subsequent processing. The cache file is created in the same directory as the configuration file."
"description":"Used to control PMM's cache database.\nAllow Plex Meta Manager to create and maintain a local cache database for faster subsequent processing. The cache file is created in the same directory as the configuration file."
},
},
"cache_expiration":{
"cache_expiration":{
"type":"integer",
"type":"integer",
"minimum":1,
"minimum":1,
"description":"Used to control how long data is cached for.Set the number of days before each cache mapping expires and has to be re-cached. An integer greater than 0 in days"
"description":"Used to control how long data is cached for.\nSet the number of days before each cache mapping expires and has to be re-cached. An integer greater than 0 in days"
},
},
"run_order":{
"run_order":{
"description":"Used to specify the run order of the library components.Specify the run order of the library components [Library Operations, Collection Files and Overlay Files]",
"description":"Used to specify the run order of the library components.\nSpecify the run order of the library components [Library Operations, Collection Files and Overlay Files]",
"description":"Used to control the asset directory folder structure.While true, PMM will search the asset_directory for a dedicated folder per item vs while false will look for an image.",
"description":"Used to control the asset directory folder structure.\nWhile true, PMM will search the asset_directory for a dedicated folder per item vs while false will look for an image.",
"type":"boolean"
"type":"boolean"
},
},
"asset_depth":{
"asset_depth":{
"description":"Used to control the depth of search in the asset directory.At each asset level, PMM will look for either medianame.ext [such as Star Wars.png] or a dedicated folder containing poster.ext. i.e. <path_to_assets>/Star Wars/poster.png and <path_to_assets>/Star Wars.png are both asset depth 0, whilst <path_to_assets>/Movies/Star Wars/poster.png and <path_to_assets>/Movies/Star Wars.png are both asset level 1.",
"description":"Used to control the depth of search in the asset directory.\nAt each asset level, PMM will look for either medianame.ext [such as Star Wars.png] or a dedicated folder containing poster.ext. i.e. <path_to_assets>/Star Wars/poster.png and <path_to_assets>/Star Wars.png are both asset depth 0, whilst <path_to_assets>/Movies/Star Wars/poster.png and <path_to_assets>/Movies/Star Wars.png are both asset level 1.",
"type":"integer",
"type":"integer",
"minimum":0
"minimum":0
},
},
"create_asset_folders":{
"create_asset_folders":{
"description":"Used to automatically create asset folders when none exist.Whilst searching for assets, if an asset folder cannot be found within the asset_directory one will be created. Asset Searches can happen in a number of ways.",
"description":"Used to automatically create asset folders when none exist.\nWhilst searching for assets, if an asset folder cannot be found within the asset_directory one will be created. Asset Searches can happen in a number of ways.",
"type":"boolean"
"type":"boolean"
},
},
"prioritize_assets":{
"prioritize_assets":{
"description":"Used to prioritize asset_directory images over all other images types.When determining which image to use on an item prioritize the asset_directory over all other images types.",
"description":"Used to prioritize asset_directory images over all other images types.\nWhen determining which image to use on an item prioritize the asset_directory over all other images types.",
"type":"boolean"
"type":"boolean"
},
},
"dimensional_asset_rename":{
"dimensional_asset_rename":{
"description":"Used to automatically rename asset files based on their dimensions.Whilst searching for assets, scan the folders within the asset_directory and if an asset poster (i.e. /ASSET_NAME/poster.ext) was not found, rename the first image found that has a height greater than or equal to its width to poster.ext. If an asset background (i.e. /ASSET_NAME/background.ext), rename the first image found that has a width greater than its height to background.ext.",
"description":"Used to automatically rename asset files based on their dimensions.\nWhilst searching for assets, scan the folders within the asset_directory and if an asset poster (i.e. /ASSET_NAME/poster.ext) was not found, rename the first image found that has a height greater than or equal to its width to poster.ext. If an asset background (i.e. /ASSET_NAME/background.ext), rename the first image found that has a width greater than its height to background.ext.",
"type":"boolean"
"type":"boolean"
},
},
"download_url_assets":{
"download_url_assets":{
"description":"Used to download url images into the asset directory.Whilst searching for assets, download images set within Collection/Metadata/Playlist files( i.e. images set by url_poster or url_background) into the asset folder if none are already present.",
"description":"Used to download url images into the asset directory.\nWhilst searching for assets, download images set within Collection/Metadata/Playlist files( i.e. images set by url_poster or url_background) into the asset folder if none are already present.",
"type":"boolean"
"type":"boolean"
},
},
"show_missing_season_assets":{
"show_missing_season_assets":{
"description":" Used to show any missing season assets.Whilst searching for assets, when scanning for assets for a TV Show, if Season posters are found (i.e. /ASSET_NAME/Season##.ext), notify the user of any seasons which do not have an asset image.",
"description":" Used to show any missing season assets.\nWhilst searching for assets, when scanning for assets for a TV Show, if Season posters are found (i.e. /ASSET_NAME/Season##.ext), notify the user of any seasons which do not have an asset image.",
"type":"boolean"
"type":"boolean"
},
},
"show_missing_episode_assets":{
"show_missing_episode_assets":{
"description":"Used to show any missing episode assets.Whilst searching for assets, when scanning for assets for a TV Show, if an Episode Title Card is found (i.e. /ASSET_NAME/S##E##.ext), notify the user of any episodes which do not have an asset image.",
"description":"Used to show any missing episode assets.\nWhilst searching for assets, when scanning for assets for a TV Show, if an Episode Title Card is found (i.e. /ASSET_NAME/S##E##.ext), notify the user of any episodes which do not have an asset image.",
"type":"boolean"
"type":"boolean"
},
},
"show_asset_not_needed":{
"show_asset_not_needed":{
"description":"Used to show/hide the update not needed messages.Whilst searching for assets, show or hide the update not needed messages.",
"description":"Used to show/hide the update not needed messages.\nWhilst searching for assets, show or hide the update not needed messages.",
"type":"boolean"
"type":"boolean"
},
},
"sync_mode":{
"sync_mode":{
"description":"Used to set the sync_mode for collections and playlists.Sets the sync_mode for collections and playlists. Setting the sync_mode directly in a collection or playlist definition will override the sync_mode for that definition.",
"description":"Used to set the sync_mode for collections and playlists.\nSets the sync_mode for collections and playlists. Setting the sync_mode directly in a collection or playlist definition will override the sync_mode for that definition.",
"enum":["sync","append"]
"enum":["sync","append"]
},
},
"minimum_items":{
"minimum_items":{
"description":"Used to control minimum items requires to build a collection/playlist.Set the minimum number of items that must be found in order to build or update a collection/playlist.",
"description":"Used to control minimum items requires to build a collection/playlist.\nSet the minimum number of items that must be found in order to build or update a collection/playlist.",
"type":"integer",
"type":"integer",
"minimum":1
"minimum":1
},
},
"default_collection_order":{
"default_collection_order":{
"description":"Used to set the collection_order for every collection run.Set the collection_order for every collection run by PMM unless the collection has a specific collection_order",
"description":"Used to set the collection_order for every collection run.\nSet the collection_order for every collection run by PMM unless the collection has a specific collection_order",
"type":["string","null"],
"type":["string","null"],
"enum":[
"enum":[
"added.asc","added.desc","audience_rating.asc",
"added.asc","added.desc","audience_rating.asc",
@ -676,52 +690,52 @@
]
]
},
},
"delete_below_minimum":{
"delete_below_minimum":{
"description":"Used to delete collections below minimum_items.When a collection is run, delete the collection if it is below the minimum number specified by minimum_items.",
"description":"Used to delete collections below minimum_items.\nWhen a collection is run, delete the collection if it is below the minimum number specified by minimum_items.",
"type":"boolean"
"type":"boolean"
},
},
"delete_not_scheduled":{
"delete_not_scheduled":{
"description":"Used to delete collections not scheduled.If a collection is skipped due to it not being scheduled, delete the collection.",
"description":"Used to delete collections not scheduled.\nIf a collection is skipped due to it not being scheduled, delete the collection.",
"type":"boolean"
"type":"boolean"
},
},
"run_again_delay":{
"run_again_delay":{
"description":"Used to control the number of minutes to delay running run_again collections.Set the number of minutes to delay running run_again collections after daily run is finished. For example, if a collection adds items to Sonarr/Radarr, the library can automatically re-run 'X' amount of time later so that any downloaded items are processed.",
"description":"Used to control the number of minutes to delay running run_again collections.\nSet the number of minutes to delay running run_again collections after daily run is finished. For example, if a collection adds items to Sonarr/Radarr, the library can automatically re-run 'X' amount of time later so that any downloaded items are processed.",
"type":"integer",
"type":"integer",
"minimum":0
"minimum":0
},
},
"missing_only_released":{
"missing_only_released":{
"description":"Used to filter unreleased items from missing lists.Whilst running a collection or playlist, when PMM handles missing items to either report it to the user, report it to a file, or send it to Radarr/Sonarr all unreleased items will be filtered out.",
"description":"Used to filter unreleased items from missing lists.\nWhilst running a collection or playlist, when PMM handles missing items to either report it to the user, report it to a file, or send it to Radarr/Sonarr all unreleased items will be filtered out.",
"type":"boolean"
"type":"boolean"
},
},
"only_filter_missing":{
"only_filter_missing":{
"description":"Used to have the filter only apply to missing items.Only items missing from a collection will be filtered. Only specific filters can filter missing. See Filters for more information.",
"description":"Used to have the filter only apply to missing items.\nOnly items missing from a collection will be filtered. Only specific filters can filter missing. See Filters for more information.",
"type":"boolean"
"type":"boolean"
},
},
"show_unmanaged":{
"show_unmanaged":{
"description":"Used to show collections not managed by PMM.List all collections not managed by Plex Meta Manager at the end of each run.",
"description":"Used to show collections not managed by PMM.\nList all collections not managed by Plex Meta Manager at the end of each run.",
"type":"boolean"
"type":"boolean"
},
},
"show_unconfigured":{
"show_unconfigured":{
"description":"Used to show collections not in the current run.List all collections not configured in the current Plex Meta Manager run at the end of each run.",
"description":"Used to show collections not in the current run.\nList all collections not configured in the current Plex Meta Manager run at the end of each run.",
"type":"boolean"
"type":"boolean"
},
},
"show_filtered":{
"show_filtered":{
"description":"Used to show filtered items.List all items which have been filtered out of a collection or playlist (i.e. if it doesn't meet the filter criteria)",
"description":"Used to show filtered items.\nList all items which have been filtered out of a collection or playlist (i.e. if it doesn't meet the filter criteria)",
"type":"boolean"
"type":"boolean"
},
},
"show_options":{
"show_options":{
"description":"Used to show attribute options from plex.While show_options is true the available options for an attribute when using plex_search, smart_filter or filters will be shown. i.e. a smart_filter on the genre attribute will return all of the attributes within the specified library.",
"description":"Used to show attribute options from plex.\nWhile show_options is true the available options for an attribute when using plex_search, smart_filter or filters will be shown. i.e. a smart_filter on the genre attribute will return all of the attributes within the specified library.",
"type":"boolean"
"type":"boolean"
},
},
"show_missing":{
"show_missing":{
"description":"Used to show missing items from collections or playlists.While show_missing is true items missing from collections or playlists will be displayed.",
"description":"Used to show missing items from collections or playlists.\nWhile show_missing is true items missing from collections or playlists will be displayed.",
"type":"boolean"
"type":"boolean"
},
},
"show_missing_assets":{
"show_missing_assets":{
"description":"Used to print a message when assets are missing.Display missing asset warnings for items, collections, and playlists.",
"description":"Used to print a message when assets are missing.\nDisplay missing asset warnings for items, collections, and playlists.",
"type":"boolean"
"type":"boolean"
},
},
"save_report":{
"save_report":{
"description":"Used to save a report YAML file.Save a report of the items added, removed, filtered, or missing from collections to a YAML file in the same directory as the file run.",
"description":"Used to save a report YAML file.\nSave a report of the items added, removed, filtered, or missing from collections to a YAML file in the same directory as the file run.",
"description":"Specify the language to query TVDb in.This field can be either null or a valid ISO 639-2 language code."
"description":"Specify the language to query TVDb in.\nThis field can be either null or a valid ISO 639-2 language code."
},
},
"ignore_ids":{
"ignore_ids":{
"description":"List of TMDb/TVDb IDs to ignore.Set a null, a single TMDb/TVDb ID, or a comma-separated string of TMDb/TVDb IDs to ignore in all collections.",
"description":"List of TMDb/TVDb IDs to ignore.\nSet a null, a single TMDb/TVDb ID, or a comma-separated string of TMDb/TVDb IDs to ignore in all collections.",
"anyOf":[
"anyOf":[
{
{
"type":"null"
"type":"null"
@ -772,7 +786,7 @@
]
]
},
},
"ignore_imdb_ids":{
"ignore_imdb_ids":{
"description":"List of IMDb IDs to ignore.Set a null, a single IMDb ID, or a comma-separated string of IMDb IDs to ignore in all collections.",
"description":"List of IMDb IDs to ignore.\nSet a null, a single IMDb ID, or a comma-separated string of IMDb IDs to ignore in all collections.",
"anyOf":[
"anyOf":[
{
{
"type":"null"
"type":"null"
@ -792,12 +806,12 @@
]
]
},
},
"item_refresh_delay":{
"item_refresh_delay":{
"description":"Time to wait between each item_refresh.Specify the amount of time to wait between each item_refresh of every movie/show in a collection/playlist.",
"description":"Time to wait between each item_refresh.\nSpecify the amount of time to wait between each item_refresh of every movie/show in a collection/playlist.",
"type":"integer",
"type":"integer",
"minimum":0
"minimum":0
},
},
"playlist_sync_to_users":{
"playlist_sync_to_users":{
"description":"Set the default playlist sync_to_users.To Sync a playlist to only yourself, leave playlist_sync_to_users blank/null. Therefore, leaving it blank, 'all', a list of users, or a comma-separated string of users is accepted",
"description":"Set the default playlist sync_to_users.\nTo Sync a playlist to only yourself, leave playlist_sync_to_users blank/null. Therefore, leaving it blank, 'all', a list of users, or a comma-separated string of users is accepted",
"anyOf":[
"anyOf":[
{
{
"type":"string",
"type":"string",
@ -820,7 +834,7 @@
]
]
},
},
"playlist_exclude_users":{
"playlist_exclude_users":{
"description":"Set the default playlist exclude_users.Provide a null value, a list of users, or a comma-separated string of users to be excluded in the playlist.",
"description":"Set the default playlist exclude_users.\nProvide a null value, a list of users, or a comma-separated string of users to be excluded in the playlist.",
"oneOf":[
"oneOf":[
{
{
"type":"null"
"type":"null"
@ -839,7 +853,7 @@
]
]
},
},
"playlist_report":{
"playlist_report":{
"description":"Used to print out a playlist report.Set playlist_report to true to print out a playlist report at the end of the log.",
"description":"Used to print out a playlist report.\nSet playlist_report to true to print out a playlist report at the end of the log.",
"type":"boolean"
"type":"boolean"
},
},
"verify_ssl":{
"verify_ssl":{
@ -847,7 +861,7 @@
"type":"boolean"
"type":"boolean"
},
},
"custom_repo":{
"custom_repo":{
"description":"Used to set up the custom repo file block type.Specify where the repo attribute's base is when defining collection_files, metadata_files, playlist_file, and overlay_files.",
"description":"Used to set up the custom repo file block type.\nSpecify where the repo attribute's base is when defining collection_files, metadata_files, playlist_file, and overlay_files.",
"oneOf":[
"oneOf":[
{
{
"type":"null"
"type":"null"
@ -1106,27 +1120,35 @@
"additionalProperties":false,
"additionalProperties":false,
"properties":{
"properties":{
"metadata_files":{
"metadata_files":{
"description":"The metadata_files attribute is used to define Metadata Files by specifying the path of the files that will be executed against the parent library.",
"$ref":"#/definitions/metadata-files"
"$ref":"#/definitions/metadata-files"
},
},
"collection_files":{
"collection_files":{
"description":"The collection_files attribute is used to define Collection Files by specifying the path type and path of the files that will be executed against the parent library.",
"$ref":"#/definitions/collection-files"
"$ref":"#/definitions/collection-files"
},
},
"overlay_files":{
"overlay_files":{
"description":"The overlay_files attribute is used to define Overlay Files by specifying the path type and path of the files that will be executed against the parent library.",
"$ref":"#/definitions/overlay-files"
"$ref":"#/definitions/overlay-files"
},
},
"metadata_path":{
"metadata_path":{
"description":"DEPRECATED! Use: metadata_files.\nThe metadata_path attribute is used to define Metadata Files by specifying the path of the files that will be executed against the parent library.",
"$ref":"#/definitions/metadata-path"
"$ref":"#/definitions/metadata-path"
},
},
"overlay_path":{
"overlay_path":{
"description":"DEPRECATED! Use: overlay_files.\nThe overlay_path attribute is used to define Overlay Files by specifying the path type and path of the files that will be executed against the parent library.",
"$ref":"#/definitions/overlay-path"
"$ref":"#/definitions/overlay-path"
},
},
"operations":{
"operations":{
"description":"Used to specify Library Operations to run.",
"$ref":"#/definitions/operations"
"$ref":"#/definitions/operations"
},
},
"library_name":{
"library_name":{
"description":"Used to specify the Library's name.\nRequired only when trying to use multiple servers with the same name. Each library that the user wants Plex Meta Manager to interact with must be documented with a library attribute. A library attribute is represented by the mapping name (i.e. Movies or TV Shows), this must have a unique name that correlates with a library of the same name within the Plex Media Server. In the situation that two servers are being connected to which both have libraries of the same name, the library_name attribute can be utilized to specify the real Library Name, whilst the library attribute's mapping name can be made into a placeholder.",
"type":"string"
"type":"string"
},
},
"report_path":{
"report_path":{
"description":"Location to save the YAML Report file for a library.\nThe report_path attribute is used to define where to save the YAML Report file. This file is used to store information about what media is added, removed, filtered, and missing from the Plex library compared to what is expected from the Collection, Metadata, Overlay or Playlist file. If your Collection file creates a collection with Movie 1, Movie 2 and Movie 3 but your Plex library only has Movie 1 and Movie 3, then the missing YAML file will be updated to inform the user that Movie 2 was missing from the library.",
"type":"string"
"type":"string"
},
},
"settings":{
"settings":{
@ -1148,15 +1170,19 @@
"$ref":"#/definitions/template-variables-library"
"$ref":"#/definitions/template-variables-library"
},
},
"schedule":{
"schedule":{
"description":"Used to schedule when a library is run using the schedule options.",
"type":"string"
"type":"string"
},
},
"remove_overlays":{
"remove_overlays":{
"description":"Used to remove overlays from this library only. \nWhen set to true, this will remove all overlays from your library every run, but will not delete the overlaid images from your system, resulting in image bloat.",
"type":"boolean"
"type":"boolean"
},
},
"reapply_overlays":{
"reapply_overlays":{
"description":"Used to reapply overlays from this library only. This will reapply overlays to every item in your library.\nWhen set to true, this will reapply all overlays on each run even if there is no need to do so, which will result in image bloat.",
"type":"boolean"
"type":"boolean"
},
},
"reset_overlays":{
"reset_overlays":{
"description":"Used to reset overlays from this library only. This will reset overlays to every item in your library to your source choice. This will use the reset image when overlaying items in your library.\nThis will reset all posters to the desired source on each run and will reapply all overlays on each run, which will result in image bloat.",
"type":"string",
"type":"string",
"enum":["tmdb","plex"]
"enum":["tmdb","plex"]
},
},
@ -1433,18 +1459,22 @@
"type":"object",
"type":"object",
"properties":{
"properties":{
"sep_style":{
"sep_style":{
"description":"Multiple styles are available for Separators, to match Plex's 'categories' feature.",
"description":"Add a placeholder Movie/Show to the Separator to ensure Plex sees a collection with 1 item because 0 item collections can be problematic for Plex.\nValid for Movie or Show libraries assuming the ID points to an item of the correct type and that its in your library.",