Update config-schema.json and added more descriptions

pull/1839/head
bullmoose20 4 months ago committed by GitHub
parent d74f8e2ef5
commit d8b0df7880
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -50,12 +50,12 @@
],
"definitions": {
"plex-server": {
"description": "Describes the primary Plex server to which PMM can connect. This attribute is REQUIRED. It can be overridden at the library level.",
"description": "Describes the primary Plex server to which PMM can connect.\nThis attribute is REQUIRED. It can be overridden at the library level.",
"type": "object",
"additionalProperties": false,
"properties": {
"url": {
"description": "URL at which PMM can connect to your plex server. NOT app.plex.tv",
"description": "URL at which PMM can connect to your plex server. NOT app.plex.tv",
"type": "string",
"format": "uri",
"pattern": "^(https?)://"
@ -595,72 +595,72 @@
"properties": {
"cache": {
"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": {
"type": "integer",
"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": {
"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]",
"type": "array", "uniqueItems": true, "items": {"enum": ["operations", "metadata", "collections", "overlays"]}
},
"asset_directory": {
"description": "Used to define where local assets are located. Specify the directories where assets (posters, backgrounds, etc) are located.",
"description": "Used to define where local assets are located.\nSpecify the directories where assets (posters, backgrounds, etc) are located.",
"oneOf": [
{ "type": "string"},
{ "type": "array", "uniqueItems": true, "items": {"type": "string" }}
]
},
"asset_folders": {
"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"
},
"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",
"minimum": 0
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"]
},
"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",
"minimum": 1
},
"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"],
"enum": [
"added.asc", "added.desc", "audience_rating.asc",
@ -676,52 +676,52 @@
]
},
"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"
},
"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"
},
"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",
"minimum": 0
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"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.",
"type": "boolean"
},
"tvdb_language": {
@ -747,10 +747,10 @@
"uig", "ukr", "urd", "uzb", "ven", "vie", "vol", "wln", "wol", "xho",
"yid", "yor", "zha", "zho", "zul"
],
"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": {
"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": [
{
"type": "null"
@ -772,7 +772,7 @@
]
},
"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": [
{
"type": "null"
@ -792,12 +792,12 @@
]
},
"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",
"minimum": 0
},
"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": [
{
"type": "string",
@ -820,7 +820,7 @@
]
},
"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": [
{
"type": "null"
@ -839,7 +839,7 @@
]
},
"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"
},
"verify_ssl": {
@ -847,7 +847,7 @@
"type": "boolean"
},
"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": [
{
"type": "null"
@ -1106,27 +1106,35 @@
"additionalProperties": false,
"properties": {
"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"
},
"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"
},
"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"
},
"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"
},
"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"
},
"operations": {
"description": "Used to specify Library Operations to run.",
"$ref": "#/definitions/operations"
},
"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"
},
"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"
},
"settings": {
@ -1455,36 +1463,36 @@
"template-variables-collections": {
"type": "object",
"properties": {
"data": {
"type": "object",
"properties": {
"starting": {
"oneOf": [
{ "type": "integer", "minimum": 0 },
{ "type": "string", "pattern": "^(current_year(-\\d+)?|first)$" }
]
},
"ending": {
"oneOf": [
{ "type": "integer", "minimum": 1 },
{ "type": "string", "pattern": "^(current_year(-\\d+)?|first)$" }
]
},
"increment": { "type": "integer", "minimum": 0 },
"depth": { "type": "integer", "minimum": 1 },
"limit": { "type": "integer", "minimum": 1 }
},
"additionalProperties": false
},
"style": {
"type": "string",
"enum": ["color", "white", "bw", "diiivoy", "diiivoycolor", "rainier", "signature", "orig", "transparent", "default", "standards"]
}
"data": {
"type": "object",
"properties": {
"starting": {
"oneOf": [
{ "type": "integer", "minimum": 0 },
{ "type": "string", "pattern": "^(current_year(-\\d+)?|first)$" }
]
},
"ending": {
"oneOf": [
{ "type": "integer", "minimum": 1 },
{ "type": "string", "pattern": "^(current_year(-\\d+)?|first)$" }
]
},
"increment": { "type": "integer", "minimum": 0 },
"depth": { "type": "integer", "minimum": 1 },
"limit": { "type": "integer", "minimum": 1 }
},
"additionalProperties": false
},
"style": {
"type": "string",
"enum": ["color", "white", "bw", "diiivoy", "diiivoycolor", "rainier", "signature", "orig", "transparent", "default", "standards"]
}
},
"required": [],
"dependentRequired": {},
"title": "template_variables"
},
},
"template-variables-overlays": {
"type": "object",
"additionalProperties": false,

Loading…
Cancel
Save