diff --git a/.gitignore b/.gitignore index 2be72a8..8e8a054 100644 --- a/.gitignore +++ b/.gitignore @@ -1,13 +1,4 @@ +.DS_Store .idea -*/desktop.ini /.vscode -.DS_Store -.github/.DS_Store -Adam-Pope/.DS_Store -Buzzie/.DS_Store -Draper/.DS_Store -Frexe/.DS_Store -JJJonesJr33/.DS_Store -nwithan8/.DS_Store -sysmoon/.DS_Store -yozora/.DS_Store +desktop.ini \ No newline at end of file diff --git a/config-schema.json b/config-schema.json new file mode 100644 index 0000000..8118bf2 --- /dev/null +++ b/config-schema.json @@ -0,0 +1,2306 @@ +{ + "$schema": "http://json-schema.org/draft-06/schema#", + "properties": { + "libraries": { + "$ref": "#/definitions/library-section" + }, + "plex": { + "$ref": "#/definitions/plex-server" + }, + "tmdb": { + "$ref": "#/definitions/tmdb-api" + }, + "tautulli": { + "$ref": "#/definitions/tautulli-api" + }, + "webhooks": { + "$ref": "#/definitions/webhooks" + }, + "omdb": { + "$ref": "#/definitions/omdb-api" + }, + "mdblist": { + "$ref": "#/definitions/mdblist-api" + }, + "notifiarr": { + "$ref": "#/definitions/notifiarr-api" + }, + "gotify": { + "$ref": "#/definitions/gotify-api" + }, + "anidb": { + "$ref": "#/definitions/anidb-api" + }, + "sonarr": { + "$ref": "#/definitions/sonarr-api" + }, + "radarr": { + "$ref": "#/definitions/radarr-api" + }, + "settings": { + "$ref": "#/definitions/settings" + }, + "mal": { + "$ref": "#/definitions/mal-api" + }, + "trakt": { + "$ref": "#/definitions/trakt-api" + } + }, + "required": [ + "plex", + "tmdb" + ], + "definitions": { + "plex-server": { + "description": "Describes the primary Plex server to which Kometa can connect.\nThis attribute is REQUIRED. It can be overridden at the library level.", + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "description": "URL at which Kometa can connect to your plex server. NOT app.plex.tv", + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "description": "Admin token for this Plex server", + "type": "string" + }, + "timeout": { + "description": "Connection timeout in seconds for this Plex server", + "type": "integer", + "minimum": 0 + }, + "db_cache": { + "description": "Sets DB Cache value for this Plex server in MB", + "oneOf": [ + { "type": "integer" }, + { "type": "string", "pattern": "^$" } + ] + }, + "clean_bundles": { + "description": "true/false - If 'true', cleans metadata bundles on this Plex server", + "type": "boolean" + }, + "empty_trash": { + "description": "true/false - If 'true', empties trash on this Plex server", + "type": "boolean" + }, + "optimize": { + "description": "true/false - If 'true', optimizes database on this Plex server", + "type": "boolean" + }, + "verify_ssl": { + "description": "Turn SSL Verification on or off for only Plex.", + "type": "boolean" + } + }, + "required": [ + "token", + "url" + ], + "title": "plex" + }, + "plex-server-lib": { + "description": "Describes the Plex server where this library is found.", + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "description": "URL at which Kometa can connect to this plex server. NOT app.plex.tv", + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "description": "Admin token for this Plex server", + "type": "string" + }, + "timeout": { + "description": "Connection timeout in seconds for this Plex server", + "type": "integer", + "minimum": 0 + }, + "db_cache": { + "description": "Sets DB Cache value for this Plex server in MB", + "oneOf": [ + { "type": "integer" }, + { "type": "string", "pattern": "^$" } + ] + }, + "clean_bundles": { + "description": "true/false - If 'true', cleans metadata bundles on this Plex server", + "type": "boolean" + }, + "empty_trash": { + "description": "true/false - If 'true', empties trash on this Plex server", + "type": "boolean" + }, + "optimize": { + "description": "true/false - If 'true', optimizes database on this Plex server", + "type": "boolean" + } + }, + "required": [], + "title": "plex" + }, + "tmdb-api": { + "description": "API Information to connect to TMDB; REQUIRED for the script to run", + "type": "object", + "additionalProperties": false, + "properties": { + "apikey": { + "type": "string", + "description": "API Key to connect to TMDB; REQUIRED for the script to run" + }, + "language": { + "type": ["string", "null"], + "enum": [ + "aa", "ab", "ae", "af", "ak", "am", "an", "ar", "as", "av", + "ay", "az", "ba", "be", "bg", "bh", "bi", "bm", "bn", "bo", + "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cu", "cv", + "cy", "da", "de", "dz", "ee", "el", "en", "eo", "es", "et", + "eu", "fa", "fi", "fj", "fo", "fr", "fy", "ga", "gd", "gl", + "gv", "ha", "he", "hi", "ho", "hr", "ht", "hu", "hy", "hz", + "ia", "id", "ie", "ig", "ii", "ik", "io", "is", "it", "iu", + "ja", "jv", "ka", "kg", "ki", "kj", "kk", "kl", "km", "kn", + "ko", "kr", "ks", "ku", "kv", "kw", "ky", "la", "lb", "lg", + "li", "ln", "lo", "lt", "lu", "lv", "mg", "mh", "mi", "mk", + "ml", "mn", "mo", "mr", "ms", "mt", "nb", "nd", "ne", "nl", + "nn", "no", "oc", "oj", "om", "or", "os", "pa", "pi", "pl", + "ps", "pt", "qu", "rm", "rn", "ro", "ru", "rw", "se", "sg", + "si", "sk", "sl", "sm", "sn", "so", "sq", "sr", "ss", "st", + "su", "sv", "sw", "ta", "te", "tg", "th", "ti", "tk", "tl", + "tn", "to", "tr", "ts", "tt", "tw", "ug", "uk", "ur", "uz", + "vi", "vo", "wa", "wo", "xh", "yi", "yo", "za", "zh", "zu" + ], + "description": "This field can be either null or a valid ISO 639 language code." + }, + "region": { + "type": "string", + "enum": ["","AD","AE","AF","AG","AI","AL","AM","AN","AO","AQ","AR","AS","AT","AU","AW","AZ","BA","BB","BD","BE","BF","BG","BH","BI","BJ","BM","BN","BO","BR","BS","BT","BU","BV","BW","BY","BZ","CA","CC","CD","CF","CG","CH","CI","CK","CL","CM","CN","CO","CR","CS","CU","CV","CX","CY","CZ","DE","DJ","DK","DM","DO","DZ","EC","EE","EG","EH","ER","ES","ET","FI","FJ","FK","FM","FO","FR","GA","GB","GD","GE","GF","GH","GI","GL","GM","GN","GP","GQ","GR","GS","GT","GU","GW","GY","HK","HM","HN","HR","HT","HU","ID","IE","IL","IN","IO","IQ","IR","IS","IT","JM","JO","JP","KE","KG","KH","KI","KM","KN","KP","KR","KW","KY","KZ","LA","LB","LC","LI","LK","LR","LS","LT","LU","LV","LY","MA","MC","MD","ME","MG","MH","MK","ML","MM","MN","MO","MP","MQ","MR","MS","MT","MU","MV","MW","MX","MY","MZ","NA","NC","NE","NF","NG","NI","NL","NO","NP","NR","NU","NZ","OM","PA","PE","PF","PG","PH","PK","PL","PM","PN","PR","PS","PT","PW","PY","QA","RE","RO","RS","RU","RW","SA","SB","SC","SD","SE","SG","SH","SI","SJ","SK","SL","SM","SN","SO","SR","SS","ST","SU","SV","SY","SZ","TC","TD","TF","TG","TH","TJ","TK","TL","TM","TN","TO","TP","TR","TT","TV","TW","TZ","UA","UG","UM","US","UY","UZ","VA","VC","VE","VG","VI","VN","VU","WF","WS","XC","XG","XI","XK","YE","YT","YU","ZA","ZM","ZR","ZW"], + "description": "This field can be either null or a valid ISO 3166-1 Code." + }, + "cache_expiration": { + "type": "integer", + "minimum": 1, + "description": "An integer greater than 0 in days" + } + }, + "required": [ + "apikey" + ], + "title": "tmdb" + }, + "tautulli-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "apikey": { + "type": "string" + }, + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + } + }, + "required": [ + "apikey", + "url" + ], + "title": "tautulli" + }, + "webhooks": { + "type": "object", + "additionalProperties": false, + "properties": { + "error": { + "type": ["string", "null"] + }, + "version": { + "type": ["string", "null"] + }, + "run_start": { + "type": ["string", "null"] + }, + "run_end": { + "type": ["string", "null"] + }, + "changes": { + "type": ["string", "null"] + }, + "delete": { + "type": ["string", "null"] + } + }, + "required": [ + ], + "title": "webhooks" + }, + "omdb-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "apikey": { + "type": "string" + }, + "cache_expiration": { + "type": "integer", + "minimum": 1, + "description": "An integer greater than 0 in days" + } + }, + "required": [ + "apikey", + "cache_expiration" + ], + "title": "omdb" + }, + "mdblist-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "apikey": { + "type": "string" + }, + "cache_expiration": { + "type": "integer", + "minimum": 1, + "description": "An integer greater than 0 in days" + } + }, + "required": [ + "apikey", + "cache_expiration" + ], + "title": "mdblist" + }, + "notifiarr-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "apikey": { + "type": "string" + } + }, + "required": [ + "apikey" + ], + "title": "notifiarr" + }, + "gotify-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string" + }, + "token": { + "type": "string" + } + }, + "required": [ + "url", + "token" + + ], + "title": "gotify" + }, + "anidb-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "client": { + "type": "string" + }, + "version": { + "type": "integer", + "minimum": 1 + }, + "language": { + "type": ["string", "null"], + "enum": [ + "aa", "ab", "ae", "af", "ak", "am", "an", "ar", "as", "av", + "ay", "az", "ba", "be", "bg", "bh", "bi", "bm", "bn", "bo", + "br", "bs", "ca", "ce", "ch", "co", "cr", "cs", "cu", "cv", + "cy", "da", "de", "dz", "ee", "el", "en", "eo", "es", "et", + "eu", "fa", "fi", "fj", "fo", "fr", "fy", "ga", "gd", "gl", + "gv", "ha", "he", "hi", "ho", "hr", "ht", "hu", "hy", "hz", + "ia", "id", "ie", "ig", "ii", "ik", "io", "is", "it", "iu", + "ja", "jv", "ka", "kg", "ki", "kj", "kk", "kl", "km", "kn", + "ko", "kr", "ks", "ku", "kv", "kw", "ky", "la", "lb", "lg", + "li", "ln", "lo", "lt", "lu", "lv", "mg", "mh", "mi", "mk", + "ml", "mn", "mo", "mr", "ms", "mt", "nb", "nd", "ne", "nl", + "nn", "no", "oc", "oj", "om", "or", "os", "pa", "pi", "pl", + "ps", "pt", "qu", "rm", "rn", "ro", "ru", "rw", "se", "sg", + "si", "sk", "sl", "sm", "sn", "so", "sq", "sr", "ss", "st", + "su", "sv", "sw", "ta", "te", "tg", "th", "ti", "tk", "tl", + "tn", "to", "tr", "ts", "tt", "tw", "ug", "uk", "ur", "uz", + "vi", "vo", "wa", "wo", "xh", "yi", "yo", "za", "zh", "zu" + ], + "description": "This field can be either null or a valid ISO 639 language code." + }, + "cache_expiration": { + "type": "integer", + "minimum": 1, + "description": "An integer greater than 0 in days" + }, + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": [ + "username", + "password" + ], + "title": "anidb" + }, + "sonarr-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "type": "string" + }, + "add_missing": { + "type": "boolean" + }, + "add_existing": { + "type": "boolean" + }, + "ignore_cache": { + "type": "boolean" + }, + "upgrade_existing": { + "type": "boolean" + }, + "season_folder": { + "type": "boolean" + }, + "search": { + "type": "boolean" + }, + "cutoff_search": { + "type": "boolean" + }, + "root_folder_path": { + "type": "string" + }, + "monitor": { + "type": "string", + "enum": ["all","future","missing","existing","pilot","first","latest","none"] + }, + "monitor_existing": { + "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": { + "type": "string" + }, + "language_profile": { + "type": "string" + }, + "series_type": { + "type": "string", + "enum": ["standard","daily","anime"] + }, + "tag": { + "type": [ "string", "null" ] + }, + "sonarr_path": { + "type": [ "string", "null" ] + }, + "plex_path": { + "type": [ "string", "null" ] + } + }, + "required": [ + "url", + "token", + "quality_profile", + "root_folder_path" + ], + "dependentRequired": { + "add_existing": ["sonarr_path", "plex_path"] + }, + "title": "sonarr" + }, + "sonarr-api-lib": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "type": "string" + }, + "add_missing": { + "type": "boolean" + }, + "add_existing": { + "type": "boolean" + }, + "ignore_cache": { + "type": "boolean" + }, + "upgrade_existing": { + "type": "boolean" + }, + "season_folder": { + "type": "boolean" + }, + "search": { + "type": "boolean" + }, + "cutoff_search": { + "type": "boolean" + }, + "root_folder_path": { + "type": "string" + }, + "monitor": { + "type": "string", + "enum": ["all","future","missing","existing","pilot","first","latest","none"] + }, + "monitor_existing": { + "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": { + "type": "string" + }, + "language_profile": { + "type": "string" + }, + "series_type": { + "type": "string", + "enum": ["standard","daily","anime"] + }, + "tag": { + "type": [ "string", "null" ] + }, + "sonarr_path": { + "type": [ "string", "null" ] + }, + "plex_path": { + "type": [ "string", "null" ] + } + }, + "required": [], + "dependentRequired": { + "add_existing": ["sonarr_path", "plex_path"] + }, + "title": "sonarr" + }, + "radarr-api": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "type": "string" + }, + "add_missing": { + "type": "boolean" + }, + "add_existing": { + "type": "boolean" + }, + "ignore_cache": { + "type": "boolean" + }, + "upgrade_existing": { + "type": "boolean" + }, + "search": { + "type": "boolean" + }, + "root_folder_path": { + "type": "string" + }, + "monitor": { + "type": "boolean" + }, + "monitor_existing": { + "type": "boolean" + }, + "quality_profile": { + "type": "string" + }, + "availability": { + "type": "string", + "enum": ["announced","cinemas","released","db"] + }, + "tag": { + "type": [ "string", "null" ] + }, + "radarr_path": { + "type": [ "string", "null" ] + }, + "plex_path": { + "type": [ "string", "null" ] + } + }, + "required": [ + "url", + "token", + "availability", + "root_folder_path" + ], + "dependentRequired": { + "add_existing": ["radarr_path", "plex_path"] + }, + "title": "radarr" + }, + "radarr-api-lib": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "token": { + "type": "string" + }, + "add_missing": { + "type": "boolean" + }, + "add_existing": { + "type": "boolean" + }, + "ignore_cache": { + "type": "boolean" + }, + "upgrade_existing": { + "type": "boolean" + }, + "search": { + "type": "boolean" + }, + "root_folder_path": { + "type": "string" + }, + "monitor": { + "type": "boolean" + }, + "monitor_existing": { + "type": "boolean" + }, + "quality_profile": { + "type": "string" + }, + "availability": { + "type": "string", + "enum": ["announced","cinemas","released","db"] + }, + "tag": { + "type": [ "string", "null" ] + }, + "radarr_path": { + "type": [ "string", "null" ] + }, + "plex_path": { + "type": [ "string", "null" ] + } + }, + "required": [], + "dependentRequired": { + "add_existing": ["radarr_path", "plex_path"] + }, + "title": "radarr" + }, + "settings": { + "type": "object", + "additionalProperties": false, + "properties": { + "cache": { + "type": "boolean", + "description": "Used to control Kometa'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.\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.\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.\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.\nWhile true, Kometa 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.\nAt each asset level, Kometa will look for either medianame.ext [such as Star Wars.png] or a dedicated folder containing poster.ext. i.e. /Star Wars/poster.png and /Star Wars.png are both asset depth 0, whilst /Movies/Star Wars/poster.png and /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.\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.\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.\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.\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.\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.\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.\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.\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.\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.\nSet the collection_order for every collection run by Kometa unless the collection has a specific collection_order\nTIP: 'custom' cannot be used if more than one builder is being used for the collection (such as imdb_list and trakt_list within the same collection). ", + "type": ["string", "null"], + "enum": [ + "added.asc", "added.desc", "alpha", "audience_rating.asc", + "audience_rating.desc", "bitrate.asc", "bitrate.desc", + "content_rating.asc", "content_rating.desc", "critic_rating.asc", + "critic_rating.desc", "custom", "duration.asc", "duration.desc", + "originally_available.asc", "originally_available.desc", + "plays.asc", "plays.desc", "progress.asc", "progress.desc", + "random", "release", "release.asc", "release.desc", + "resolution.asc", "resolution.desc", "title.asc", "title.desc", + "user_rating.asc", "user_rating.desc", "viewed.asc", "viewed.desc", + "year.asc", "year.desc", null + ] + }, + "delete_below_minimum": { + "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.\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.\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.\nWhilst running a collection or playlist, when Kometa 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.\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 Kometa.\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.\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.\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.\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.\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.\nDisplay missing asset warnings for items, collections, and playlists.", + "type": "boolean" + }, + "save_report": { + "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": { + "type": ["string", "null"], + "enum": [ + "aar", "abk", "afr", "aka", "alb", "amh", "ara", "arg", "arm", "asm", + "ava", "ave", "aym", "aze", "bak", "bam", "bel", "ben", "bih", "bis", + "bod", "bos", "bre", "bul", "cat", "cha", "che", "chi", "chu", "chv", + "cor", "cos", "cre", "ces", "dan", "deu", "div", "dzo", "ell", "eng", + "epo", "est", "eus", "ewe", "fao", "fas", "fij", "fin", "fra", "fry", + "ful", "gla", "gle", "glg", "glv", "grn", "guj", "hat", "hau", "heb", + "her", "hin", "hmo", "hrv", "hun", "hye", "ibo", "ido", "iii", "iku", + "ile", "ina", "ind", "ipk", "isl", "ita", "jav", "jpn", "kal", "kan", + "kas", "kat", "kau", "kaz", "khm", "kik", "kin", "kir", "kom", "kon", + "kor", "kua", "kur", "lao", "lat", "lav", "lim", "lin", "lit", "ltz", + "lub", "lug", "mah", "mal", "mar", "mkd", "mlg", "mlt", "mon", "mri", + "msa", "mya", "nau", "nav", "nbl", "nde", "ndo", "nep", "nld", "nno", + "nob", "nor", "nya", "oci", "oji", "ori", "orm", "oss", "pan", "pli", + "pol", "por", "pus", "que", "roh", "ron", "run", "rus", "sag", "san", + "sin", "slk", "slv", "sme", "smo", "sna", "snd", "som", "sot", "spa", + "srd", "srp", "ssw", "sun", "swa", "swe", "tah", "tam", "tat", "tel", + "tgk", "tgl", "tha", "tir", "ton", "tsn", "tso", "tuk", "tur", "twi", + "uig", "ukr", "urd", "uzb", "ven", "vie", "vol", "wln", "wol", "xho", + "yid", "yor", "zha", "zho", "zul" + ], + "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.\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" + }, + { + "type": "array", + "items": { + "type": "integer" + }, + "minItems": 1 + }, + { + "type": "string", + "pattern": "^(\\d+)(,(\\d+))*$" + }, + { + "type": "integer" + } + ] + }, + "ignore_imdb_ids": { + "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" + }, + { + "type": "string", + "pattern": "^(tt\\d{7})(,(tt\\d{7}))*$" + }, + { + "type": "array", + "items": { + "type": "string", + "pattern": "^tt\\d{7}$" + }, + "minItems": 1 + } + ] + }, + "item_refresh_delay": { + "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.\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", + "enum": ["all"] + }, + { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + { + "type": "string", + "pattern": "^([^,]+)(,[^,]+)*$" + }, + { + "type": "null" + } + ] + }, + "playlist_exclude_users": { + "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" + }, + { + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + }, + { + "type": "string", + "pattern": "^([^,]+)(,[^,]+)*$" + } + ] + }, + "playlist_report": { + "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": { + "description": "Turn SSL Verification on or off.", + "type": "boolean" + }, + "custom_repo": { + "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" + }, + { + "type": "string" + } + ] + }, + "overlay_artwork_filetype": { + "description": "Used to control the filetype used with overlay images.", + "enum": ["jpg", "png", "webp_lossy", "webp_lossless"] + }, + "overlay_artwork_quality": { + "description": "Used to control the JPG or Lossy WEBP quality used with overlay images.", + "type": "integer", + "minimum": 1, + "maximum": 100 + } + }, + "required": [ + ], + "title": "settings" + }, + "mal-api": { + "type": "object", + "additionalProperties": true, + "properties": { + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + } + }, + "required": [ + "client_id", + "client_secret" + ], + "title": "mal" + }, + "trakt-api": { + "type": "object", + "additionalProperties": true, + "properties": { + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + }, + "pin": { + "type": [ "string", "null" ] + } + }, + "required": [ + "client_id", + "client_secret" + ], + "title": "trakt" + }, + "legacy-default-collection-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "pmm": { + "type": "string", + "enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "pmm" + ] + }, + "kometa-default-collection-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "default": { + "type": "string", + "enum": ["actor", "anilist","aspect","audio_language","bafta","based","basic","berlinale","cannes","cesar","choice","collectionless","content_rating_au","content_rating_cs","content_rating_de","content_rating_nz","content_rating_mal","content_rating_uk","content_rating_us","continent","country","decade","director","emmy","flixpatrol","franchise","genre","golden","imdb","myanimelist","network","nfr","oscars","other_chart","pca","producer","razzie","region","resolution","sag","seasonal","separator_award","separator_chart","spirit","streaming","studio","subtitle_language","sundance","tautulli","tiff","tmdb","trakt","universe","venice","writer","year"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "default" + ] + }, + "legacy-default-overlay-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "pmm": { + "type": "string", + "enum": ["aspect","audio_codec","commonsense","content_rating_au","content_rating_de","content_rating_nz","content_rating_uk","content_rating_us_movie","content_rating_us_show","direct_play","episode_info","language_count","flixpatrol","languages","mediastinger","network","ratings","resolution","ribbon","runtimes","status","streaming","studio","versions","video_format"] + }, + "remove_overlays": { + "type": "boolean" + }, + "reapply_overlays": { + "type": "boolean" + }, + "reapply_overlay": { + "type": "boolean" + }, + "reset_overlays": { + "type": "string", + "enum": ["tmdb","plex"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + "pmm" + ] + }, + "kometa-default-overlay-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "default": { + "type": "string", + "enum": ["aspect","audio_codec","commonsense","content_rating_au","content_rating_de","content_rating_nz","content_rating_uk","content_rating_us_movie","content_rating_us_show","direct_play","episode_info","language_count","flixpatrol","languages","mediastinger","network","ratings","resolution","ribbon","runtimes","status","streaming","studio","versions","video_format"] + }, + "remove_overlays": { + "type": "boolean" + }, + "reapply_overlays": { + "type": "boolean" + }, + "reapply_overlay": { + "type": "boolean" + }, + "reset_overlays": { + "type": "string", + "enum": ["tmdb","plex"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + ] + }, + "legacy-default-playlist-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "pmm": { + "type": "string", + "enum": ["playlist"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "pmm" + ] + }, + "kometa-default-playlist-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "default": { + "type": "string", + "enum": ["playlist"] + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "default" + ] + }, + "file-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + } + }, + "required": [ + "file" + ] + }, + "file-path-collection-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "file" + ] + }, + "file-path-overlay-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + "file" + ] + }, + "file-path-playlist-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "file": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "file" + ] + }, + "folder-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "folder": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + } + }, + "required": [ + "folder" + ] + }, + "url-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + } + }, + "required": [ + "url" + ] + }, + "url-path-collection-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "url" + ] + }, + "url-path-overlay-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + "url" + ] + }, + "url-path-playlist-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "url": { + "type": "string", + "format": "uri", + "pattern": "^(https?)://" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "url" + ] + }, + "git-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "git": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + } + }, + "required": [ + "git" + ] + }, + "git-path-collection-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "git": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "git" + ] + }, + "git-path-overlay-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "git": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + "git" + ] + }, + "git-path-playlist-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "git": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "git" + ] + }, + "repo-path": { + "type": "object", + "additionalProperties": false, + "properties": { + "repo": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + } + }, + "required": [ + "repo" + ] + }, + "repo-path-collection-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "repo": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-collections" + } + }, + "required": [ + "repo" + ] + }, + "repo-path-overlay-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "repo": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-overlays" + } + }, + "required": [ + "repo" + ] + }, + "repo-path-playlist-with-template-variables": { + "type": "object", + "additionalProperties": false, + "properties": { + "repo": { + "type": "string" + }, + "schedule": { + "type": "string" + }, + "asset_directory": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "template_variables": { + "$ref": "#/definitions/template-variables-playlists" + } + }, + "required": [ + "repo" + ] + }, + "library-section": { + "title": "libraries", + "type": "object", + "additionalProperties": false, + "patternProperties": { + "^(?!plex|tmdb|tautulli|webhooks|omdb|mdblist|notifiarr|gotify|anidb|radarr|sonarr|trakt|mal).+$": { + "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": { + "$ref": "#/definitions/settings" + }, + "plex": { + "$ref": "#/definitions/plex-server-lib" + }, + "radarr": { + "$ref": "#/definitions/radarr-api-lib" + }, + "sonarr": { + "$ref": "#/definitions/sonarr-api-lib" + }, + "tautulli": { + "$ref": "#/definitions/tautulli-api" + }, + "template_variables": { + "$ref": "#/definitions/template-variables-library" + }, + "schedule": { + "description": "Used to schedule when a library is run using the schedule options.", + "type": "string" + }, + "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" + }, + "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" + }, + "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", + "enum": ["tmdb","plex"] + }, + "run_order": { + "type": "array", "uniqueItems": true, "items": {"type": "string", + "enum": ["collections","metadata","operations","overlays"] } + } + } + }, + "^schedule_.*$": { "type": "string" } + } + }, + "metadata-files": { + "title": "metadata_files", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/file-path" + }, { + "$ref": "#/definitions/folder-path" + }, { + "$ref": "#/definitions/url-path" + }, { + "$ref": "#/definitions/git-path" + }, { + "$ref": "#/definitions/repo-path" + } + ] + } + }, + "collection-files": { + "title": "collection_files", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/legacy-default-collection-path", + "deprecated": true + }, + { + "$ref": "#/definitions/kometa-default-collection-path" + }, + { + "$ref": "#/definitions/file-path" + }, + { + "$ref": "#/definitions/file-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/folder-path" + }, + { + "$ref": "#/definitions/url-path" + }, + { + "$ref": "#/definitions/url-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/git-path" + }, + { + "$ref": "#/definitions/git-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/repo-path" + }, + { + "$ref": "#/definitions/repo-path-collection-with-template-variables" + } + ] + } + }, + "overlay-files": { + "title": "overlay_files", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/legacy-default-overlay-path", + "deprecated": true + }, { + "$ref": "#/definitions/kometa-default-overlay-path" + }, + { + "$ref": "#/definitions/file-path" + }, + { + "$ref": "#/definitions/file-path-overlay-with-template-variables" + }, + { + "$ref": "#/definitions/folder-path" + }, + { + "$ref": "#/definitions/url-path" + }, + { + "$ref": "#/definitions/url-path-overlay-with-template-variables" + }, + { + "$ref": "#/definitions/git-path" + }, + { + "$ref": "#/definitions/git-path-overlay-with-template-variables" + }, + { + "$ref": "#/definitions/repo-path" + }, + { + "$ref": "#/definitions/repo-path-overlay-with-template-variables" + } + ] + } + }, + "metadata-path": { + "deprecated": true, + "title": "metadata_path", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/legacy-default-collection-path", + "deprecated": true + }, { + "$ref": "#/definitions/kometa-default-collection-path" + }, + { + "$ref": "#/definitions/file-path" + }, + { + "$ref": "#/definitions/file-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/folder-path" + }, + { + "$ref": "#/definitions/url-path" + }, + { + "$ref": "#/definitions/url-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/git-path" + }, + { + "$ref": "#/definitions/git-path-collection-with-template-variables" + }, + { + "$ref": "#/definitions/repo-path" + }, + { + "$ref": "#/definitions/repo-path-collection-with-template-variables" + } + ] + } + }, + "overlay-path": { + "deprecated": true, + "title": "overlay_path", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/legacy-default-overlay-path", + "deprecated": true + }, { + "$ref": "#/definitions/kometa-default-overlay-path" + }, { + "$ref": "#/definitions/file-path" + }, { + "$ref": "#/definitions/file-path-overlay-with-template-variables" + }, { + "$ref": "#/definitions/folder-path" + }, { + "$ref": "#/definitions/url-path" + }, { + "$ref": "#/definitions/url-path-overlay-with-template-variables" + }, { + "$ref": "#/definitions/git-path" + }, { + "$ref": "#/definitions/git-path-overlay-with-template-variables" + }, { + "$ref": "#/definitions/repo-path" + }, { + "$ref": "#/definitions/repo-path-overlay-with-template-variables" + } + ] + } + }, + "playlist-path": { + "title": "playlist_files", + "additionalProperties": false, + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/definitions/legacy-default-playlist-path", + "deprecated": true + }, { + "$ref": "#/definitions/kometa-default-playlist-path" + }, { + "$ref": "#/definitions/file-path" + }, { + "$ref": "#/definitions/file-path-playlist-with-template-variables" + }, { + "$ref": "#/definitions/folder-path" + }, { + "$ref": "#/definitions/url-path" + }, { + "$ref": "#/definitions/url-path-playlist-with-template-variables" + }, { + "$ref": "#/definitions/git-path" + }, { + "$ref": "#/definitions/git-path-playlist-with-template-variables" + }, { + "$ref": "#/definitions/repo-path" + }, { + "$ref": "#/definitions/repo-path-playlist-with-template-variables" + } + ] + } + }, + "operations": { + "type": "object", + "additionalProperties": false, + "properties": { + "assets_for_all": { + "type": "boolean" + }, + "update_blank_track_titles": { + "type": "boolean" + }, + "remove_title_parentheses": { + "type": "boolean" + }, + "split_duplicates": { + "type": "boolean" + }, + "radarr_add_all": { + "type": "boolean" + }, + "sonarr_add_all": { + "type": "boolean" + }, + "mass_genre_update": { + "anyOf": [ + { + "type": "string", + "enum": ["tmdb","tvdb","imdb","omdb","anidb","anidb_3_0","anidb_2_5","anidb_2_0","anidb_1_5","anidb_1_0","anidb_0_5","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","tvdb","imdb","omdb","anidb","anidb_3_0","anidb_2_5","anidb_2_0","anidb_1_5","anidb_1_0","anidb_0_5","mal","lock","unlock","remove","reset"]} + ] + } + } + ] + }, + "mass_content_rating_update": { + "anyOf": [ + { + "type": "string", + "enum": ["mdb","mdb_commonsense","mdb_commonsense0","omdb","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["mdb","mdb_commonsense","mdb_commonsense0","omdb","mal","lock","unlock","remove","reset"]} + ] + } + } + ] + }, + "mass_original_title_update": { + "type": "string", + "enum": ["anidb","anidb_official","mal","mal_english","mal_japanese","lock","unlock","remove","reset"] + }, + "mass_studio_update": { + "anyOf": [ + { + "type": "string", + "enum": ["anidb","mal","tmdb","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["anidb","mal","tmdb","lock","unlock","remove","reset"]} + ] + } + } + ] + }, + "mass_originally_available_update": { + "anyOf": [ + { + "type": "string", + "enum": ["tmdb","tvdb","omdb","mdb","anidb","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","tvdb","omdb","mdb","anidb","mal","lock","unlock","remove","reset"]} + ] + } + } + ] + }, + "mass_added_at_update": { + "type": "string", + "enum": ["tmdb","tvdb","omdb","mdb","anidb","mal","lock","unlock","remove","reset"] + }, + "mass_audience_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_critic_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_user_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","trakt_user","omdb","mdb","mdb_average","mdb_imdb","mdb_metacritic","mdb_metacriticuser","mdb_trakt","mdb_tomatoes","mdb_tomatoesaudience","mdb_tmdb","mdb_letterboxd","mdb_myanimelist","anidb_rating","anidb_average","anidb_score","mal","lock","unlock","remove","reset"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_episode_audience_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","lock","remove","reset","unlock"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","lock","remove","reset","unlock"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_episode_critic_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","lock","remove","reset","unlock"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","lock","remove","reset","unlock"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_episode_user_rating_update": { + "anyOf": [ + { + "type": "number" + }, + { + "type": "string", + "enum": ["tmdb","imdb","lock","remove","reset","unlock"] + }, + { + "type": "array", + "uniqueItems": true, + "items": + { + "anyOf": [ + {"enum": ["tmdb","imdb","lock","remove","reset","unlock"]}, + {"type": "number"} + ] + } + } + ] + }, + "mass_poster_update": { + "type": "string", + "enum": ["tmdb","plex","lock","unlock"] + }, + "mass_background_update": { + "type": "string", + "enum": ["tmdb","plex","lock","unlock"] + }, + "mass_imdb_parental_labels": { + "type": "string", + "enum": ["none","mild","moderate","severe"] + }, + "mass_collection_mode": { + "type": "string", + "enum": ["default","hide","hide_items","show_items"] + }, + "radarr_remove_by_tag": { "type": "string" }, + "sonarr_remove_by_tag": { "type": "string" }, + "delete_collections": { + "type": "object", + "properties": { + "configured": { "type": "boolean" }, + "managed": { "type": "boolean" }, + "less": { "type": "integer" } + }, + "required": [] + }, + "genre_mapper": { + "type": "object", + "properties": {}, + "patternProperties": { + "^.*$": { "type": ["string", "null"], "pattern": "^.*$" } + }, + "required": [] + }, + "content_rating_mapper": { + "type": "object", + "properties": {}, + "patternProperties": { + "^.*$": { "type": ["string", "null"], "pattern": "^.*$" } + }, + "required": [] + }, + "metadata_backup": { + "type": "object", + "properties": { + "path": { "type": "string" }, + "exclude": { + "oneOf": [ + { "type": "string"}, + { "type": "array", "uniqueItems": true, "items": {"type": "string" }} + ] + }, + "sync_tags": { "type": "boolean" }, + "add_blank_entries": { "type": "boolean" } + }, + "required": [] + } + }, + "required": [], + "dependentRequired": {}, + "title": "operations" + }, + "template-variables-library": { + "type": "object", + "properties": { + "sep_style": { + "description": "Multiple styles are available for Separators, to match Plex's 'categories' feature.", + "type": "string", + "enum": ["amethyst", "aqua", "blue", "forest", "fuchsia", "gold", "gray", "green", "navy", "ocean", "olive", "orchid", "orig", "pink", "plum", "purple", "red", "rust", "salmon", "sand", "stb", "tan"] + }, + "collection_mode": { + "description": "Controls the collection mode of all collections in a Defaults file.", + "type": "string", + "enum": ["default", "hide", "hide_items", "show_items"] + }, + "language": { + "description": "Set the language of Collection Names and Summaries that Kometa has been translated to with weblate", + "type": "string", + "enum": ["en", "fr", "ar", "da", "nl", "de", "it", "pt-br", "nb-no", "es", "sv"] + }, + "placeholder_imdb_id": { + "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.", + "type": "string", + "pattern": "^tt\\d{7}$" + } + }, + "required": [], + "title": "template_variables" + }, + "template-variables-collections": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "starting": { + "oneOf": [ + { "type": "integer", "minimum": 0 }, + { "type": "string", "pattern": "^(current_year(\\s*-\\s*\\d+)?)$|^(first(\\s*\\+\\s*\\d+)?)$|^(latest(\\s*-\\s*\\d+)?)$" } + ] + }, + "ending": { + "oneOf": [ + { "type": "integer", "minimum": 1 }, + { "type": "string", "pattern": "^(current_year(\\s*-\\s*\\d+)?)$|^(first(\\s*\\+\\s*\\d+)?)$|^(latest(\\s*-\\s*\\d+)?)$" } + ] + }, + "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, + "properties": { + "addon_offset": { "type": "integer", "exclusiveMinimum": 0 }, + "addon_position": { "type": "string", "enum": ["left","top","bottom","right"] }, + "back_align": { "type": "string", "enum": ["left","right","center","top","bottom"] }, + "back_color": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "back_height": { "type": "integer", "exclusiveMinimum": 0 }, + "back_line_color": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "back_line_width": { "type": "integer", "exclusiveMinimum": 0 }, + "back_padding": { "type": "integer", "exclusiveMinimum": 0 }, + "back_radius": { "type": "integer", "exclusiveMinimum": 0 }, + "back_width": { "type": "integer", "exclusiveMinimum": 0 }, + "builder_level": { "type": "string", "enum": ["show","season","episode"] }, + "file": { "type": "string" }, + "final_name": { "type": "string" }, + "flag_alignment": { "type": "string", "enum": ["left","right"] }, + "font_color": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "font_size": { "type": "integer", "exclusiveMinimum": 0 }, + "font_style": { "type": "string", "enum": ["Any","Italic","Normal","Oblique"] }, + "font": { "type": "string" }, + "git": { "type": "string" }, + "group_alignment": { "type": "string", "enum": ["horizontal","vertical"] }, + "horizontal_align": { "type": "string", "enum": ["left","center","right"] }, + "horizontal_offset": { "type": "integer", "minimum": 0 }, + "horizontal_position": { "type": "string", "enum": ["left","left2","center","center_left","center_right","right","right2"] }, + "languages": { "type": "array", "uniqueItems": true, "items": {"type": "string", "pattern": "^[a-z]{2}$" }}, + "last": { "type": "integer", "exclusiveMinimum": 0 }, + "limit": { "type": "integer", "exclusiveMinimum": 0 }, + "location": { "type": "string", "enum": ["world","albania","argentina","armenia","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","belarus","belgium","belize","benin","bolivia","bosnia_and_herzegovina","botswana","brazil","bulgaria","burkina_faso","cambodia","canada","chile","colombia","costa_rica","croatia","cyprus","czech_republic","denmark","dominican_republic","ecuador","egypt","estonia","finland","france","gabon","germany","ghana","greece","guatemala","guinea_bissau","haiti","honduras","hong_kong","hungary","iceland","india","indonesia","ireland","israel","italy","ivory_coast","jamaica","japan","jordan","kazakhstan","kenya","kuwait","kyrgyzstan","laos","latvia","lebanon","lithuania","luxembourg","malaysia","maldives","mali","malta","mexico","moldova","mongolia","montenegro","morocco","mozambique","namibia","netherlands","new_zealand","nicaragua","niger","nigeria","north_macedonia","norway","oman","pakistan","panama","papua_new_guinea","paraguay","peru","philippines","poland","portugal","qatar","romania","russia","rwanda","salvador","saudi_arabia","senegal","serbia","singapore","slovakia","slovenia","south_africa","south_korea","spain","sri_lanka","sweden","switzerland","taiwan","tajikistan","tanzania","thailand","togo","trinidad_and_tobago","turkey","turkmenistan","uganda","ukraine","united_arab_emirates","united_kingdom","united_states","uruguay","uzbekistan","venezuela","vietnam","zambia","zimbabwe"] }, + "minimum": { "type": "integer"}, + "offset": { "type": "integer", "minimum": 0 }, + "originals_only": { "description": "Changes Streaming Service overlays to only apply to original content produced by the service.\nNote: Cannot be used with region, and only produces overlays for amazon, appletv, disney, max, hulu, netflix, paramount, peacock", "type": "boolean" }, + "overlay_limit": { "description": "Choose the number of overlay this queue displays.\nDefault: 3\nValues: 1, 2, 3, 4, or 5", "type": "integer", "minimum": 1, "maximum": 5 }, + "position": { "type": "string", "enum": ["left","right"] }, + "post_nr_text": { "description": "Choose the text after the 'nr' key for the Overlay.\nValues: Any String", "type": "string" }, + "post_text": { "description": "Choose the text after the key for the Overlay.\nDefault: +\nValues: Any String", "type": "string" }, + "pre_nr_text": { "description": "Choose the text before the 'nr' key for the Overlay.\nValues: Any String","type": "string" }, + "pre_text": { "description": "Choose the text before the key for the Overlay.\nValues: Any String", "type": "string" }, + "rating_alignment": { "type": "string", "enum": ["vertical", "horizontal"] }, + "rating1": { "type": "string", "enum": ["critic", "audience", "user"] }, + "rating1_image": { "type": "string", "enum": ["anidb", "imdb", "letterboxd", "tmdb", "metacritic", "rt_popcorn", "rt_tomato", "trakt", "mal", "mdb", "star"] }, + "rating1_font": { "type": "string" }, + "rating1_font_size": { "type": "integer", "minimum": 1 }, + "rating2": { "type": "string", "enum": ["critic", "audience", "user"] }, + "rating2_image": { "type": "string", "enum": ["anidb", "imdb", "letterboxd", "tmdb", "metacritic", "rt_popcorn", "rt_tomato", "trakt", "mal", "mdb", "star"] }, + "rating2_font": { "type": "string" }, + "rating2_font_size": { "type": "integer", "minimum": 1 }, + "rating3": { "type": "string", "enum": ["critic", "audience", "user"] }, + "rating3_image": { "type": "string", "enum": ["anidb", "imdb", "letterboxd", "tmdb", "metacritic", "rt_popcorn", "rt_tomato", "trakt", "mal", "mdb", "star"] }, + "rating3_font": { "type": "string" }, + "rating3_font_size": { "type": "integer", "minimum": 1 }, + "region": { "type": "string", "enum": ["us", "uk", "ca", "da", "de", "es", "fr", "it", "pt-br"] }, + "remove_overlays": { "type": "boolean" }, + "reapply_overlays": { "type": "boolean" }, + "reset_overlays": { "type": "string", "enum": ["tmdb", "plex"] }, + "repo": { "type": "string" }, + "stroke_color": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "stroke_width": { "type": "integer", "exclusiveMinimum": 0 }, + "style": { "type": "string", "enum": ["compact","standard","bigger","round","square","half", "red", "black", "yellow", "gray", "color", "white"] }, + "text": { "type": "string" }, + "time_window": { "type": "string", "enum": ["today","yesterday","this_week","last_week","this_month","last_month","this_year","last_year"] }, + "url": { "type": "string", "format": "uri", "pattern": "^(https?)://" }, + "use_edition": { "type": "boolean" }, + "use_lowercase": { "type": "boolean" }, + "use_resolution": { "type": "boolean" }, + "use_subtitles": { "type": "boolean" }, + "vertical_align": { "type": "string", "enum": ["top","center","bottom"] }, + "vertical_offset": { "type": "integer", "minimum": 0 }, + "vertical_position": { "type": "string", "enum": ["top","top2","top3","center","center_top","center_bottom","bottom","bottom2","bottom3"] } + }, + "patternProperties": { + "^country_.*$": { "type": "string", "pattern": "^[A-Z]{2}$" }, + "^file_.*$": { "type": "string" }, + "^git_.*$": { "type": "string" }, + "^limit_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^location_.*$": { "type": "string", "enum": ["world","albania","argentina","armenia","australia","austria","azerbaijan","bahamas","bahrain","bangladesh","belarus","belgium","belize","benin","bolivia","bosnia_and_herzegovina","botswana","brazil","bulgaria","burkina_faso","cambodia","canada","chile","colombia","costa_rica","croatia","cyprus","czech_republic","denmark","dominican_republic","ecuador","egypt","estonia","finland","france","gabon","germany","ghana","greece","guatemala","guinea_bissau","haiti","honduras","hong_kong","hungary","iceland","india","indonesia","ireland","israel","italy","ivory_coast","jamaica","japan","jordan","kazakhstan","kenya","kuwait","kyrgyzstan","laos","latvia","lebanon","lithuania","luxembourg","malaysia","maldives","mali","malta","mexico","moldova","mongolia","montenegro","morocco","mozambique","namibia","netherlands","new_zealand","nicaragua","niger","nigeria","north_macedonia","norway","oman","pakistan","panama","papua_new_guinea","paraguay","peru","philippines","poland","portugal","qatar","romania","russia","rwanda","salvador","saudi_arabia","senegal","serbia","singapore","slovakia","slovenia","south_africa","south_korea","spain","sri_lanka","sweden","switzerland","taiwan","tajikistan","tanzania","thailand","togo","trinidad_and_tobago","turkey","turkmenistan","uganda","ukraine","united_arab_emirates","united_kingdom","united_states","uruguay","uzbekistan","venezuela","vietnam","zambia","zimbabwe"] }, + "^rating\\d+_.*$": { "type": "string" }, + "^regex_.*$": { "type": "string" }, + "^repo_.*$": { "type": "string" }, + "^text_.*$": { "type": "string" }, + "^time_window_.*$": { "type": "string", "enum": ["today","yesterday","this_week","last_week","this_month","last_month","this_year","last_year"] }, + "^url_.*$": { "type": "string", "format": "uri", "pattern": "^(https?)://" }, + "^use_.*$": { "type": "boolean" }, + "^weight_.*$": { "type": "integer" }, + "^font_.*$": { "type": "string" }, + "^font_color_.*$": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "^font_size_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^font_style_.*$": { "type": "string", "enum": ["Any","Italic","Normal","Oblique"] }, + "^horizontal_align_.*$": { "type": "string", "enum": ["left","center","right"] }, + "^horizontal_offset_.*$": { "type": "integer", "minimum": 0 }, + "^vertical_align_.*$": { "type": "string", "enum": ["top","center","bottom"] }, + "^vertical_offset_.*$": { "type": "integer", "minimum": 0 }, + "^stroke_color_.*$": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "^stroke_width_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^back_align_.*$": { "type": "string", "enum": ["left","right","center","top","bottom"] }, + "^back_color_.*$": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "^back_height_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^back_line_color_.*$": { "type": "string", "pattern": "^\\#([A-Fa-f0-9]{3}|[A-Fa-f0-9]{4}|[A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$" }, + "^back_line_width_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^back_padding_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^back_radius_.*$": { "type": "integer", "exclusiveMinimum": 0 }, + "^back_width_.*$": { "type": "integer", "exclusiveMinimum": 0 } + }, + "required": [ + ], + "dependentRequired": { + }, + "title": "template_variables" + }, + "template-variables-playlists": { + "type": "array", + "additionalProperties": true, + "properties": { + }, + "required": [ + ], + "dependentRequired": { + }, + "title": "template_variables" + } + } +} diff --git a/shayne55434/Anime.yml b/shayne55434/Anime.yml deleted file mode 100644 index 020c067..0000000 --- a/shayne55434/Anime.yml +++ /dev/null @@ -1,138 +0,0 @@ -templates: - Chart: - sort_title: +1_<><> - sync_mode: sync - network: - optional: - - network - tmdb_network: <> - sort_title: +2_<> - sync_mode: sync - -collections: -####################################################### -# Charts # -####################################################### - -###################################################### -# TV Series # -###################################################### - Naruto: - tmdb_show: 46260 - item_assets: true - build_collection: false - Naruto Shippuden: - tmdb_show: 31910 - item_assets: true - build_collection: false - -###################################################### -# Network Collections # -###################################################### - A&E: - template: - name: network - network: "129, 2639, 3688" - ABC: - template: - name: network - network: "2, 75, 2791" - schedule: weekly(sunday) - Adult Swim: - template: - name: network - network: "80" - Apple+: - template: - name: network - network: "2552" - Amazon: - template: - name: network - network: "1024" - AMC: - template: - name: network - network: "174, 4661" - Cartoon Network: - template: - name: network - network: "56, 217, 1232, 1483, 2193, 3917, 4771" - CBS: - template: - name: network - network: "16, 2528, 1709, 2621" - schedule: weekly(sunday) - Cinemax: - template: - name: network - network: "359" - Discovery: - template: - name: network - network: "10, 22, 64, 106, 244, 626, 670, 1079, 1287, 1534, 2087, 2480, 2692, 3045, 3591, 3900, 3953, 4440, 4462, 4741" - Disney+: - template: - name: network - network: "2739, 2919" - Fox: - template: - name: network - network: "19" - Freeform: - template: - name: network - network: "1267" - FX: - template: - name: network - network: "88" - FXX: - template: - name: network - network: "1035" - HBO: - template: - name: network - network: "49, 2593, 3186, 3308" - HGTV: - template: - name: network - network: "210" - Hulu: - template: - name: network - network: "453" - National Geographic: - template: - name: network - network: "43, 799, 1756, 1825, 3355, 4293, 4476" - Netflix: - template: - name: network - network: "213" - schedule: weekly(sunday) - Prime Video: - template: - name: network - network: "1024" - Showtime: - template: - name: network - network: "67" - Starz: - template: - name: network - network: "318, 758, 4906" - Syfy: - template: - name: network - network: "77, 3701" - TBS: - template: - name: network - network: "68, 160, 4888" - YouTube: - template: - name: network - network: "247, 1436, 4869" \ No newline at end of file diff --git a/shayne55434/KidsTV.yml b/shayne55434/KidsTV.yml index 635b66f..89ba3c0 100644 --- a/shayne55434/KidsTV.yml +++ b/shayne55434/KidsTV.yml @@ -9,107 +9,14 @@ templates: sort_title: +2_<> sync_mode: sync -###################################################### -# Charts # -###################################################### +# Collections listed here are simply to add custom assets collections: - -###################################################### -# TV Series # -###################################################### Paw Patrol: tmdb_show: 57532 item_assets: true build_collection: false - + sync_mode: append # must be append when using 'build_collection: false' ###################################################### # Network Collections # ###################################################### - A&E: - template: - name: network - network: "129, 2639, 3688" - ABC: - template: - name: network - network: "2, 75, 2791" - Adult Swim: - template: - name: network - network: 80 - Apple+: - template: - name: network - network: 2552 - AMC: - template: - name: network - network: "174, 4661" - Cartoon Network: - template: - name: network - network: "56, 217, 1232, 1483, 2193, 3917, 4771" - Cinemax: - template: - name: network - network: 359 - Discovery: - template: - name: network - network: "10, 22, 64, 106, 244, 626, 670, 1079, 1287, 1534, 2087, 2480, 2692, 3045, 3591, 3900, 3953, 4440, 4462, 4741" - Disney+: - template: - name: network - network: "2739, 2919" - FX: - template: - name: network - network: 88 - FXX: - template: - name: network - network: 1035 - HBO: - template: - name: network - network: "49, 2593, 3186, 3308" - HGTV: - template: - name: network - network: 210 - Hulu: - template: - name: network - network: 453 - National Geographic: - template: - name: network - network: "43, 799, 1756, 1825, 3355, 4293, 4476" - Netflix: - template: - name: network - network: 213 - Prime Video: - template: - name: network - network: 1024 - Showtime: - template: - name: network - network: 67 - Starz: - template: - name: network - network: "318, 758, 4906" - Syfy: - template: - name: network - network: "77, 3701" - TBS: - template: - name: network - network: "68, 160, 4888" - YouTube: - template: - name: network - network: "247, 1436, 4869" \ No newline at end of file +# Removed in favor of PMM default; "- pmm: network" diff --git a/shayne55434/Movies.yml b/shayne55434/Movies.yml index e78477d..95ed8a2 100644 --- a/shayne55434/Movies.yml +++ b/shayne55434/Movies.yml @@ -1,20 +1,14 @@ templates: - Chart Alpha: - sort_title: +_<><> - sync_mode: sync - collection_order: alpha - delete_below_minimum: true - Chart Release: - sort_title: +_<> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Best of: - trakt_list: https://trakt.tv/users/lish408/lists/rotten-tomatoes-best-of-<> - sort_title: +_Best of <> + collection: + optional: + - value + - movie + tmdb_collection_details: <> + tmdb_movie: <> sync_mode: sync - summary: Rotten Tomatoes Best Movies of <>, according to https://trakt.tv/users/lish408/lists/rotten-tomatoes-best-of-<>. + item_assets: true collection_order: release + minimum_items: 3 delete_below_minimum: true Studio: optional: @@ -22,91 +16,79 @@ templates: tmdb_company: <> sort_title: ++_<> sync_mode: sync - collection_order: alpha - delete_below_minimum: true - IMDb Genre: - default: - title: feature - limit: 100 - imdb_list: - - url: https://www.imdb.com/search/title/?title_type=<>&release_date=1990-01-01,&user_rating=5.0,10.0&num_votes=100000,&genres=<<genre>> - limit: <<limit>> - - url: https://www.imdb.com/search/title/?title_type=<<title>>&release_date=1990-01-01,&user_rating=5.0,10.0&num_votes=100000,&genres=<<genre>>&sort=user_rating,desc - limit: <<limit>> - sort_title: +++_<<collection_name>> - sync_mode: sync - collection_order: alpha - delete_below_minimum: true - Other Genre: - sort_title: +++_<<collection_name>> - sync_mode: sync - collection_order: alpha - delete_below_minimum: true - Actor: - actor: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Actor Director: - actor: tmdb - director: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Actor Director Writer: - actor: tmdb - director: tmdb - writer: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Actor Writer: - actor: tmdb - writer: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Director: - director: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Director Writer: - director: tmdb - writer: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Writer: - writer: tmdb - tmdb_person: <<person>> - sort_title: ++++_<<collection_name>> - sync_mode: sync - collection_order: release - delete_below_minimum: true - Collection: - optional: - - collection - - movie - tmdb_collection_details: <<collection>> - tmdb_movie: <<movie>> - sync_mode: sync item_assets: true - collection_order: release + collection_order: alpha delete_below_minimum: true +###################################################### +# Dynamic Collections # +###################################################### +dynamic_collections: + TMDb Collections: + template: collection + type: tmdb_collection + remove_suffix: "Collection" + #remove_prefix: "The" + title_override: + # While I could remove "The" prefix, I actually like it on some of the collections. IE - "The Matrix". I also remove "Reboot", "Animated", etc... + 119: Lord of the Rings + 263: Dark Knight + 528: Terminator + 869: Planet of the Apes + 2794: Chronicles of Riddick + 8966: Twilight + 9743: Hannibal Lecter + 31562: Bourne + 33071: Cheech and Chong + 71458: "3 Ninjas" + 87359: Mission Impossible + 100693: "101 Dalmatians" + 106768: Tarzan + 115776: Robert Langdon + 135468: G.I. Joe + 192492: Jack Ryan + 207621: VHS + 313086: Conjuring Universe + 386534: "... Has Fallen" + 397842: Amityville + exclude: + # Collections listed here have been manually added to their related "parent" collection. IE - "Hobbs and Shaw" is added to "The Fast and the Furious" + - 10 # Star Wars Collection + - 151 # (Star Trek: The Original Series Collection) + - 748 # X-Men + - 1709 # Planet of the Apes (Original) Collection + - 2806 # American Pie + - 9485 # The Fast and the Furious + - 8091 # Alien Collection + - 11153 # National Lampoon's Vacation (1983) + - 14740 # Madagascar + - 86027 # Aladdin Collection + - 86066 # Despicable Me + - 87236 # Mulan + - 94032 # The Lion King + - 100693 # 101 Dalmatians (Animated) + - 115570 # (Star Trek: The Next Generation Collection) + - 115575 # (Star Trek: Alternate Reality Collection) + - 115762 # AVP Collection + - 124916 # 101 Dalmatians (Live-Action) + - 126209 # Halloween (Rob Zombie Series) Collection + - 133352 # (Resident Evil: Biohazard Collection) + - 135416 # Prometheus Collection + - 153010 # Beauty and the Beast + - 158391 # Not a collection in TMDb + - 173710 # Planet of the Apes (Reboot) Collection + - 298820 # American Pie (Spin-off) Collection + - 313086 # Conjuring Universe + - 448150 # Deadpool + - 453993 # The Wolverine + - 544669 # Minions Collection + - 553717 # Creed Collection + - 748401 # Aladdin (Live-Action) + - 762512 # (The Lion King (Reboot) + - 688042 # Hobbs & Shaw Collection + - 748401 # Aladdin (Live-Action) Collection + - 1110796 # Links to an invalid collection named "comin-to-town-collection" + - 1111183 # Links to an invalid collection named "scooby-doo-coleccion" collections: ###################################################### # Studio Collections # @@ -117,904 +99,233 @@ collections: company: 3 summary: Pixar Animation Studios, commonly known as Pixar, is an American computer animation studio based in Emeryville, California, a subsidiary of Disney Studios Content owned by The Walt Disney Company. Pixar began in 1979 as part of the Lucasfilm computer division, known as the Graphics Group, before its spin-off as a corporation on February 3, 1986, with funding from Apple co-founder Steve Jobs, who became its majority shareholder. Disney purchased Pixar in 2006 at a valuation of $7.4 billion by converting each share of Pixar stock to 2.3 shares of Disney stock, a transaction that resulted in Jobs becoming Disney's largest single shareholder at the time. Pixar is best known for its feature films technologically powered by RenderMan, the company's own implementation of the industry-standard RenderMan Interface Specification image-rendering application programming interface. Luxo Jr., a desk lamp from the studio's 1986 short film of the same name, is the studio's mascot. -###################################################### -# Chart Collections # -###################################################### - ###################################################### # TMDb Collections # ###################################################### 101 Dalmatians: template: - name: Collection - collection: "100693, 124916" + name: collection + value: "100693, 124916" movie: 337404 - 3 Ninjas: - template: - name: Collection - collection: 71458 Aladdin: template: - name: Collection - collection: "86027, 748401" + name: collection + value: "86027, 748401" Alien: template: - name: Collection - collection: "8091, 135416, 115762" + name: collection + value: "8091, 135416, 115762" American Pie: template: - name: Collection - collection: "2806, 298820" - An American Tail: - template: - name: Collection - collection: 8783 - Amityville: - template: - name: Collection - collection: 397842 - Annabelle: - template: - name: Collection - collection: 402074 - Austin Powers: - template: - name: Collection - collection: 1006 - The Avengers: - template: - name: Collection - collection: 86311 - Back to the Future: - template: - name: Collection - collection: 264 - Bad Boys: - template: - name: Collection - collection: 14890 - Batman: - template: - name: Collection - collection: 120794 + name: collection + value: "2806, 298820" Beauty and the Beast: template: - name: Collection - collection: 153010 - movie: 321612 #Need some custom artwork - Best of the Best: - template: - name: Collection - collection: 153948 - Beverly Hills Cop: - template: - name: Collection - collection: 85861 - Big Momma's House: - template: - name: Collection - collection: 44979 - Bill & Ted's Most Excellent: - template: - name: Collection - collection: 91746 - Blade: - template: - name: Collection - collection: 735 - Blair Witch: - template: - name: Collection - collection: 64750 - Bourne: - template: - name: Collection - collection: 31562 - Cabin Fever: - template: - name: Collection - collection: 201576 - Captain America: - template: - name: Collection - collection: 131295 - Cars: - template: - name: Collection - collection: 87118 - Charlie Brown: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls054850259/ - summary: Collection of Movies and TV Specials with the beloved Peanuts characters. - Cheech and Chong: - template: - name: Collection - collection: 33071 - Child's Play: - template: - name: Collection - collection: 10455 - The Chronicles of Narnia: - template: - name: Collection - collection: 420 - Chronicles of Riddick: - template: - name: Collection - collection: 2794 - Cinderella: - template: - name: Collection - collection: 55419 - Conjuring Universe: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls025508921/ - Cloverfield: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls023762626/ - summary: Cloverfield is an American science fiction anthology film series and media franchise created and produced by J. J. Abrams consisting of three films, viral marketing websites linking the films together, and a tie-in manga to the first film titled Cloverfield/Kishin (2008), all set in a shared fictional universe referred to as the "Cloververse". The franchise as a whole deals with creatures from other dimensions attacking Earth throughout various decades, all as a repercussion of an experiment by an astronaut team aboard the Cloverfield Station in outer-space. Each film depicts the reality-altering effects of their study, which was meant to find a new energy source replacing the planet's depleted resources, only to open portals for assault from various beasts from deep space. - Cornetto Trilogy: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls068623110/ - summary: An anthology series of British comedic genre films directed by Edgar Wright, written by Wright and Simon Pegg, produced by Nira Park, and starring Pegg and Nick Frost. The trilogy consists of Shaun of the Dead (2004), Hot Fuzz (2007), and The World's End (2013). - Crocodile Dundee: - template: - name: Collection - collection: 9332 - #schedule: yearly(01/01) - Dark Knight: - template: - name: Collection - collection: 263 - DCU: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls047446610/ + name: collection + value: 153010 + movie: 321612 +# Charlie Brown: +# template: +# name: collection +# value: 1028525 # No longer has a collection on TMDB Deadpool: template: - name: Collection - collection: 448150 + name: collection + value: 448150 movie: 567604 visible_home: yearly(02/14) visible_shared: yearly(02/14) - Death Race: - template: - name: Collection - collection: 86116 - Death Wish: - template: - name: Collection - collection: 14377 - movie: 395990 - Descendants: - template: - name: Collection - collection: 466463 #Need some custom artwork Despicable Me: template: - name: Collection - collection: "86066, 544669" - Die Hard: - template: - name: Collection - collection: 1570 - Dirty Harry: - template: - name: Collection - collection: 10456 - Disney Buddies: - template: - name: Collection - collection: 91657 - Divergent: - template: - name: Collection - collection: 283579 - Deep Blue Sea: - template: - name: Collection - collection: 518165 - DragonHeart: - template: - name: Collection - collection: 169452 - Dumb and Dumber: - template: - name: Collection - collection: 96665 - Ernest: - template: - name: Collection - collection: 330555 - The Expendables: - template: - name: Collection - collection: 126125 - Escape Plan: - template: - name: Collection - collection: 525891 - Evil Dead: - template: - name: Collection - collection: 1960 - The Exorcist: - template: - name: Collection - collection: 12263 - Fantastic Beasts: - template: - name: Collection - collection: 435259 + name: collection + value: "86066, 544669" The Fast and the Furious: template: - name: Collection - collection: "9485, 688042" - Fear Street: - template: - name: Collection - collection: 790370 - Fifty Shades: - template: - name: Collection - collection: 344830 - Final Destination: - template: - name: Collection - collection: 8864 - Free Willy: - template: - name: Collection - collection: 9328 - Friday: - template: - name: Collection - collection: 43563 - Friday the 13th: - template: - name: Collection - collection: 9735 - movie: 6466 - Futurama: - template: - name: Collection - collection: 13800 + name: collection + value: 9485 + movie: 384018 Ghostbusters: template: - name: Collection - collection: 2980 + name: collection + value: 2980 movie: 43074 - G.I. Joe: - template: - name: Collection - collection: 135468 - The Godfather: - template: - name: Collection - collection: 230 - Godzilla: - template: - name: Collection - collection: 535313 #Maybe include movie: 293167??? The Grudge: template: - name: Collection - collection: 1974 + name: collection + value: 1974 movie: 465086 Halloween: template: - name: Collection - collection: "91361, 126209" - Halloweentown: - template: - name: Collection - collection: 87252 - The Hangover: - template: - name: Collection - collection: 86119 - Hannibal Lecter: - template: - name: Collection - collection: 9743 - movie: 11454 - Happy Death Day: - template: - name: Collection - collection: 526380 #Will need custom artwork when 3rd film is released - Harold & Kumar: - template: - name: Collection - collection: 30663 - Harry Potter: - template: - name: Collection - collection: 1241 - ... Has Fallen: - template: - name: Collection - collection: 386534 - name_mapping: Has Fallen - Hayao Miyazaki: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls069998735/ + name: collection + value: "91361, 126209" Hellboy: template: - name: Collection - collection: 17235 + name: collection + value: 17235 movie: 456740 - Hellraiser: - template: - name: Collection - collection: 8917 - Herbie: - template: - name: Collection - collection: 12087 - High School Musical: - template: - name: Collection - collection: 87253 - Highlander: - template: - name: Collection - collection: 8050 - The Hobbit: - template: - name: Collection - collection: 121938 - Home Alone: - template: - name: Collection - collection: 9888 - Honey, I Shrunk the Kids: - template: - name: Collection - collection: 72119 - Hostel: - template: - name: Collection - collection: 86578 - Hotel Transylvania: - template: - name: Collection - collection: 185103 - House of 1000 Corpses: - template: - name: Collection - collection: 105625 - How to Train Your Dragon: - template: - name: Collection - collection: 89137 - The Human Centipede: - template: - name: Collection - collection: 96671 - The Hunger Games: - template: - name: Collection - collection: 131635 - I Know What You Did Last Summer: - template: - name: Collection - collection: 3601 - I Spit On Your Grave: - template: - name: Collection - collection: 219691 - Ice Age: - template: - name: Collection - collection: 8354 - Indiana Jones: - template: - name: Collection - collection: 84 - Insidious: - template: - name: Collection - collection: 228446 - Ip Man: - template: - name: Collection - collection: 70068 - Iron Man: - template: - name: Collection - collection: 131292 Jack Ryan: template: - name: Collection - collection: 192492 + name: collection + value: 192492 movie: "137094, 4614" Jackass: template: - name: Collection - collection: 17178 + name: collection + value: 17178 movie: "208134, 273641, 265065" - James Bond: - template: - name: Collection - collection: 645 - Jaws: - template: - name: Collection - collection: 2366 - Jay and Silent Bob: - template: - name: Collection - collection: 726870 #Artwork not complete - Jeepers Creepers: - template: - name: Collection - collection: 94899 - John Wick: - template: - name: Collection - collection: 404609 - Joy Ride: - template: - name: Collection - collection: 166378 - Jumanji: - template: - name: Collection - collection: 495527 - Jurassic Park: - template: - name: Collection - collection: 328 The Karate Kid: template: - name: Collection - collection: 8580 + name: collection + value: 8580 movie: 38575 Kingsman: template: - name: Collection - collection: 391860 + name: collection + value: 391860 movie: "476669, 631971" - Kung Fu Panda: - template: - name: Collection - collection: 77816 - Lake Placid: - template: - name: Collection - collection: 97768 - The Land Before Time: - template: - name: Collection - collection: 19163 - Laurel & Hardy: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls005126419/ #Need custom artwork - Legally Blonde: - template: - name: Collection - collection: 86024 #Will need custom artwork after release of Legally Blonde 4 - LEGO DC Comics Super Heroes: - template: - name: Collection - collection: 386162 #Need custom artwork - Lego Star Wars: - template: - name: Collection - collection: 302331 #Need custom artwork - Lethal Weapon: - template: - name: Collection - collection: 945 - Lilo & Stitch: - template: - name: Collection - collection: 97461 The Lion King: template: - name: Collection - collection: "94032, 762512" #Will need custom artwork when latest film is released - The Little Mermaid: - template: - name: Collection - collection: 33085 + name: collection + value: "94032, 762512" #Will need custom artwork when latest film is released (December 18, 2024) Living Dead: template: - name: Collection - collection: 261590 + name: collection + value: 261590 movie: "19185, 924, 13025, 29426" - Lord of the Rings: - template: - name: Collection - collection: 119 - Lost Boys: - template: - name: Collection - collection: 109076 - Mad Max: - template: - name: Collection - collection: 8945 Madagascar: template: - name: Collection - collection: 14740 + name: collection + value: 14740 movie: 270946 The Man with No Name: template: - name: Collection + name: collection movie: "391, 429, 938" - The Matrix: - template: - name: Collection - collection: 2344 - The Maze Runner: - template: - name: Collection - collection: 295130 - MCU: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls066946827/ - MCU - Chronological: - template: - name: Collection - imdb_list: https://www.imdb.com/list/ls021001839/ - collection_order: custom - Meet the Parents: - template: - name: Collection - collection: 51509 - Men In Black: - template: - name: Collection - collection: 86055 - Mexico Trilogy: - template: - name: Collection - collection: 9649 - The Mighty Ducks: - template: - name: Collection - collection: 10709 - Missing in Action: - template: - name: Collection - collection: 46512 - Mission Impossible: - template: - name: Collection - collection: 87359 Mortal Kombat: template: - name: Collection - collection: 9818 + name: collection + value: 9818 movie: "664767, 460465" Mulan: template: - name: Collection - collection: 87236 + name: collection + value: 87236 movie: 337401 - The Mummy: - template: - name: Collection - collection: 1733 #movie: 282035 = The Mummy 2017 The Muppets: template: - name: Collection - collection: 256377 + name: collection + value: 256377 movie: "10208, 10437, 10874, 11176, 11899, 14900, 20910" - Naked Gun: - template: - name: Collection - collection: 37139 National Lampoon: template: - name: Collection - collection: 108693 + name: collection + value: 108693 movie: 296099 - The Neverending Story: - template: - name: Collection - collection: 91430 - Night at the Museum: - template: - name: Collection - collection: 85943 A Nightmare on Elm Street: template: - name: Collection - collection: 8581 + name: collection + value: 8581 movie: "6466, 23437, 37757" Ocean's: template: - name: Collection - collection: 304 + name: collection + value: 304 movie: 402900 Oz: template: - name: Collection - collection: 627517 + name: collection + value: 627517 movie: "13155, 68728" - Paranormal Activity: - template: - name: Collection - collection: 41437 Pet Sematary: template: - name: Collection - collection: 10789 - movie: 157433 #Need custom artwork - Phantasm: - template: - name: Collection - collection: 47770 - Pirates of the Caribbean: - template: - name: Collection - collection: 295 - Pitch Perfect: - template: - name: Collection - collection: 306031 + name: collection + value: 10789 + movie: 157433 # Needs custom artwork Planet of the Apes: template: - name: Collection - collection: "173710, 1709" + name: collection + value: "173710, 1709" movie: 869 - Police Academy: - template: - name: Collection - collection: 9338 - Police Story: - template: - name: Collection - collection: 269098 #Need custom artwork - Predator: - template: - name: Collection - collection: 399 - The Princess Switch: - template: - name: Collection - collection: 713330 - The Purge: - template: - name: Collection - collection: 256322 Puss in Boots: template: - name: Collection - collection: 94602 + name: collection + value: 94602 movie: 83201 # Include 462650, Puss in Book? - Rambo: - template: - name: Collection - collection: 5039 - Resident Evil: - template: - name: Collection - collection: 17255 - The Ring: - template: - name: Collection - collection: 14563 #Need custom artwork -# "Resident Evil: Biohazard": -# template: -# name: Collection -# collection: 133352 #Need custom artwork -# name_mapping: Resident Evil Biohazard -# - Robert Langdon: - template: - name: Collection - collection: 115776 Robocop: template: - name: Collection - collection: 5547 + name: collection + value: 5547 + movie: 97020 # RoboCop (2014) Rocky: template: - name: Collection - collection: "1575, 553717" - Rugrats: - template: - name: Collection - collection: 57129 #Need custom artwork - Rush Hour: - template: - name: Collection - collection: 90863 - The Sandlot: - template: - name: Collection - collection: 87214 #Need custom artwork - The Santa Clause: - template: - name: Collection - collection: 53159 - Saw: - template: - name: Collection - collection: 656 - Scanners: - template: - name: Collection - collection: 88574 - Scary Movie: - template: - name: Collection - collection: 4246 - The Scorpion King: - template: - name: Collection - collection: 116669 #Need custom artwork - Scream: - template: - name: Collection - collection: 2602 + name: collection + value: "1575, 553717" Shaft: template: - name: Collection - collection: "495, 608103" #Need custom artwork - Sharknado: - template: - name: Collection - collection: 286023 #Need custom artwork - Sherlock Holmes: - template: - name: Collection - collection: 102322 #Need custom artwork - Shrek: - template: - name: Collection - collection: 2150 - The Smurfs: - template: - name: Collection - collection: 134897 #Need custom artwork - Spider-Man: - template: - name: Collection - collection: 556 - Spy Kids: - template: - name: Collection - collection: 86486 #Need custom artwork + name: collection + value: "495, 608103" # Needs custom artwork Star Trek: template: - name: Collection - collection: "115575, 115570, 151" + name: collection + value: "151, 115570, 115575" Star Wars: template: - name: Collection - collection: 10 + name: collection + value: 10 movie: "348350, 330459" - Step Up: - template: - name: Collection - collection: 86092 #Need custom artwork - Superman: - template: - name: Collection - collection: 8537 - Taken: - template: - name: Collection - collection: 135483 - Tarzan: - template: - name: Collection - collection: 106768 #Need custom artwork + test: true Teenage Mutant Ninja Turtles: template: - name: Collection - collection: "1582, 401562" - Terminator: - template: - name: Collection - collection: 528 + name: collection + value: "1582, 401562" Texas Chainsaw Massacre: template: - name: Collection - collection: "111751, 425175" - Thor: - template: - name: Collection - collection: 131296 - Three Colors: - template: - name: Collection - collection: 131 - summary: Three Colors is a film trilogy who’s colors make up the films and the three colors of France – Blue, White and Red. With the colors meaning – freedom, equality and brotherliness. - Tinker Bell: - template: - name: Collection - collection: 315595 #Need custom artwork - To All the Boys: - template: - name: Collection - collection: 569738 #Need custom artwork + name: collection + value: "111751, 425175" Tomb Raider: template: - name: Collection - collection: "2467, 621142" - Toy Story: - template: - name: Collection - collection: 10194 - Transformers: - template: - name: Collection - collection: 8650 - The Transporter: - template: - name: Collection - collection: 9518 - Tremors: - template: - name: Collection - collection: 91799 #Need custom artwork - Trolls: - template: - name: Collection - collection: 489724 #Need custom artwork + name: collection + value: 2467 + movie: 338970 TRON: template: - name: Collection - collection: 63043 - movie: 73362 #Need custom artwork - Twilight: - template: - name: Collection - collection: 33514 + name: collection + value: 63043 + movie: 73362 # Needs custom artwork Unbreakable: template: - name: Collection - imdb_list: https://www.imdb.com/list/ls022101006/ - summary: The Unbreakable trilogy, officially known as the Eastrail 177 Trilogy, is an American superhero thriller and psychological horror film series. The films were written, produced, and directed by M. Night Shyamalan. The trilogy consists of Unbreakable (2000), Split (2016), and Glass (2019). - Underworld: - template: - name: Collection - collection: 2326 - Universal Soldier: - template: - name: Collection - collection: 10713 - "V/H/S": - name_mapping: VHS - template: - name: Collection - collection: 207621 - Wallace & Gromit: - template: - name: Collection - collection: 529 #Need custom artwork + name: collection + movie: "9741, 381288, 450465" Wrong Turn: template: - name: Collection - collection: 52985 + name: collection + value: 52985 movie: 630586 X-Men: template: - name: Collection - collection: "748, 453993, 448150" + name: collection + value: "748, 453993, 448150" movie: "567604, 340102" - xXx: - template: - name: Collection - collection: 52785 #Need custom artwork - Zeigeist: - template: - name: Collection - collection: 96682 #Need custom artwork - Zenon: - template: - name: Collection - collection: 321148 #Need custom artwork \ No newline at end of file + +###################################################### +# IMDb Collections # +###################################################### + DCU: + imdb_list: https://www.imdb.com/list/ls047446610/ + Conjuring Universe: + imdb_list: https://www.imdb.com/list/ls025508921/ + Cloverfield: + imdb_list: https://www.imdb.com/list/ls023762626/ + summary: Cloverfield is an American science fiction anthology film series and media franchise created and produced by J. J. Abrams consisting of three films, viral marketing websites linking the films together, and a tie-in manga to the first film titled Cloverfield/Kishin (2008), all set in a shared fictional universe referred to as the "Cloververse". The franchise as a whole deals with creatures from other dimensions attacking Earth throughout various decades, all as a repercussion of an experiment by an astronaut team aboard the Cloverfield Station in outer-space. Each film depicts the reality-altering effects of their study, which was meant to find a new energy source replacing the planet's depleted resources, only to open portals for assault from various beasts from deep space. + Cornetto Trilogy: + imdb_list: https://www.imdb.com/list/ls068623110/ + summary: An anthology series of British comedic genre films directed by Edgar Wright, written by Wright and Simon Pegg, produced by Nira Park, and starring Pegg and Nick Frost. The trilogy consists of Shaun of the Dead (2004), Hot Fuzz (2007), and The World's End (2013). + Hayao Miyazaki: + imdb_list: https://www.imdb.com/list/ls069998735/ + MCU: + imdb_list: https://www.imdb.com/list/ls031310794/ + item_assets: true + MCU - Chronological: + imdb_list: https://www.imdb.com/list/ls029032797/ + item_assets: true + collection_order: custom \ No newline at end of file diff --git a/shayne55434/Overlays.yml b/shayne55434/Overlays.yml deleted file mode 100644 index e1efde4..0000000 --- a/shayne55434/Overlays.yml +++ /dev/null @@ -1,65 +0,0 @@ -templates: - Resolution: - optional: - - overlay_level - default: - overlay: <<overlay_name>> - horizontal_offset: 15 - horizontal_align: left - vertical_offset: 15 - vertical_align: top - collection_level: <<overlay_level>> - overlay: - name: <<overlay_name>> - git: PMM/overlays/images/<<overlay>> - group: res - weight: <<weight>> - horizontal_offset: <<horizontal_offset>> - horizontal_align: <<horizontal_align>> - vertical_offset: <<vertical_offset>> - vertical_align: <<vertical_align>> - - 4K-DV: - default: - 4K: true - DV: true - allowed_library_types: <<4K>>, <<DV>> - - 4K-HDR: - default: - 4K: true - HDR: true - allowed_library_types: <<4K>>, <<HDR>> - - 4K_banner: - default: - 4K_banner: false - allowed_library_types: <<4K_banner>> - - 4K: - default: - 4K: false - allowed_library_types: <<4K>> - -overlays: - 4K_banner: - template: - name: 4K_banner - overlay: - name: 4K_banner - plex_search: - all: - resolution.regex: '(?i)2160|4K' - 4K: - template: - name: 4K - overlay: - name: 4K - horizontal_offset: 15 - horizontal_align: left - vertical_offset: 15 - vertical_align: top - plex_search: - type: episodes - all: - resolution.regex: '(?i)2160|4K' \ No newline at end of file diff --git a/shayne55434/config.yml.template b/shayne55434/config.yml.template index 6c02c8c..1c03a74 100644 --- a/shayne55434/config.yml.template +++ b/shayne55434/config.yml.template @@ -1,234 +1,371 @@ -libraries: # Library mappings must have a colon (:) placed after them +# yaml-language-server: $schema=https://raw.githubusercontent.com/Kometa-Team/Kometa/nightly/json-schema/config-schema.json + +libraries: 4K Movies: + report_path: /config/reports/4kmovies.yml settings: asset_directory: - - config/assets/movies - - config/assets/movie_collections + - config/assets/movies + - config/assets/movie_collections operations: - mass_critic_rating_update: mdb_tomatoesaudience + assets_for_all: true split_duplicates: true delete_collections: - unmanaged: true - unconfigured: true + managed: false + configured: false less: 3 - template_variables: # Disable the separator for collections + template_variables: + # Disable the separator for collections - https://kometa.wiki/en/latest/defaults/separators/ use_separator: false - metadata_path: - - file: config/Movies.yml - schedule: weekly(sunday) - - pmm: tautulli # Plex popular/most watched - schedule: weekly(monday) - - pmm: flixpatrol # Top across networks, according to flixpatrol - schedule: weekly(tuesday) - template_variables: - radarr_add_missing: true - - pmm: other_chart #StevenLu's Popular and Top 10 Pirated - schedule: weekly(wednesday) - template_variables: - radarr_add_missing: true - use_anidb: false - use_commonsense: false - - pmm: imdb #IMDb Top 250 - schedule: monthly(1) - template_variables: - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 - - pmm: oscars # Oscar winners for the last 5 years - schedule: monthly(15) - template_variables: - radarr_add_missing: true - data: - starting: current_year-5 - ending: current_year-1 - - pmm: emmy # Emmy winners for the last 5 years - schedule: monthly(30) - template_variables: - radarr_add_missing: true - data: - starting: current_year-5 - ending: current_year-1 - - pmm: seasonal # Create holiday collections that follow schedules - schedule: weekly(thursday) - template_variables: - limit: 100 - use_easter: false - use_mother: false - use_memorial: false - use_father: false - use_labor: false - - pmm: decade # "Best of" by decade - schedule: weekly(friday) - template_variables: - limit: 20 - exclude: - - 1920 - - 1930 - - 1940 - - 1950 - - 1960 - overlay_path: - - pmm: resolution # Add a "4K Ultra HD" banner to poster - template_variables: - file: overlays\4K.png - use_edition: false - use_1080p: false - use_720p: false - use_576p: false - use_480p: false - use_dv: false - use_hdr: false - - pmm: ribbon # Oscars/IMDB top 250 - template_variables: - use_rotten: false - use_metacritic: false - use_common: false + collection_files: + # Custom collections - https://kometa.wiki/en/latest/files/collections/ + - file: config/movies.yml + schedule: weekly(sunday) + # Recently released media - https://kometa.wiki/en/latest/defaults/chart/basic/ + - default: basic + # Common Sense - https://kometa.wiki/en/latest/defaults/both/content_rating_cs/ + - default: content_rating_cs + template_variables: + item_label: kids + include: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + # "Best of" by decade - https://kometa.wiki/en/latest/defaults/movie/decade/ + - default: decade + schedule: weekly(friday) + template_variables: + limit: 20 + exclude: + - 1920 + - 1930 + - 1940 + - 1950 + - 1960 + # Emmy winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/emmy/ + - default: emmy + schedule: monthly(30) + template_variables: + data: + starting: current_year-5 + ending: current_year-1 + # IMDb Top 250 - https://kometa.wiki/en/latest/defaults/chart/imdb/ + - default: imdb + schedule: monthly(1) + template_variables: + use_all: false + use_top: true + # StevenLu's Popular, Top 10 Pirated, and Common Sense - https://kometa.wiki/en/latest/defaults/chart/other/ + - default: other_chart + schedule: weekly(wednesday) + template_variables: + use_all: false + use_stevenlu: true + use_commonsense: true + use_pirated: true + # Oscar winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/oscars/ + - default: oscars + schedule: monthly(15) + template_variables: + use_best_picture: false + use_best_director: false + data: + starting: current_year-5 + ending: current_year-1 + # Create seasonal collections based on holidays - https://kometa.wiki/en/latest/defaults/movie/seasonal/ + - default: seasonal + schedule: weekly(thursday) + template_variables: + limit: 100 + use_all: false + use_years: true + use_valentine: true + use_patrick: true + use_easter: true + use_mother: true + use_independence: true + use_halloween: true + use_veteran: true + use_thanksgiving: true + use_christmas: true + # Plex popular/most watched - https://kometa.wiki/en/latest/defaults/chart/tautulli/ + - default: tautulli + schedule: weekly(monday) + template_variables: + list_days: 7 + summary_popular: "A collection of movies Popular on Plex for the last week." + summary_watched: "A collection of Top movies Watched on Plex for the last week." + # Top 20 Popular, trending, and watched movies/shows - https://kometa.wiki/en/latest/defaults/chart/trakt/ + - default: trakt + template_variables: + limit: 20 + use_all: false + use_popular: true + use_trending: true + use_watched: true + overlay_files: + - reapply_overlays: false + # Add a 4K* + Edition to the top left - https://kometa.wiki/en/latest/defaults/overlays/resolution/ + - default: resolution + template_variables: + use_all: false + use_edition: true + use_4k: true + use_4k_hdr: true + use_4k_dv: true + use_4k_plus: true + use_4k_dvhdr: true + use_4k_dvhdrplus: true + # Add a ribbon to the lower right if in IMDB 250, or is an Oscars or Emmy winner - https://kometa.wiki/en/latest/defaults/overlays/ribbon/ + - default: ribbon + template_variables: + use_all: false + use_oscars: true + use_emmys: true + use_imdb: true radarr: - url: http://radarr4k:7878 + url: 'http://radarr4k:7878' token: <redacted> root_folder_path: /mnt/unionfs/media/4kmovies monitor: true availability: announced quality_profile: Ultra-HD - tag: + tag: kometa search: false add_missing: false add_existing: false - upgrade_existing: true - radarr_path: - plex_path: + upgrade_existing: false + radarr_path: null + plex_path: null + ignore_cache: false + monitor_existing: false Movies: + report_path: /config/reports/movies.yml settings: asset_directory: - - config/assets/movies - - config/assets/movie_collections + - config/assets/movies + - config/assets/movie_collections operations: - mass_critic_rating_update: mdb_tomatoesaudience + assets_for_all: true delete_collections: - unmanaged: true - unconfigured: true + managed: false + configured: false less: 3 - template_variables: # Disable the separator for collections + template_variables: + # Disable the separator for collections - https://kometa.wiki/en/latest/defaults/separators/ use_separator: false - metadata_path: - - file: config/Movies.yml - - pmm: tautulli # Plex popular/most watched - - pmm: flixpatrol # Top across networks, according to flixpatrol - template_variables: - radarr_add_missing: true - - pmm: other_chart #StevenLu's Popular and Top 10 Pirated - template_variables: - radarr_add_missing: true - use_anidb: false - use_commonsense: false - - pmm: imdb #IMDb Top 250 - template_variables: - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 - - pmm: oscars # Oscar winners for the last 5 years - template_variables: - radarr_add_missing: true - data: - starting: current_year-5 - ending: current_year-1 - - pmm: emmy # Emmy winners for the last 5 years - schedule: monthly(30) - template_variables: - radarr_add_missing: true - data: - starting: current_year-5 - ending: current_year-1 - - pmm: seasonal # Create holiday collections that follow schedules - template_variables: - limit: 100 - use_easter: false - use_mother: false - use_memorial: false - use_father: false - use_labor: false - - pmm: decade # "Best of" by decade - template_variables: - limit: 20 - exclude: - - 1920 - - 1930 - - 1940 - - 1950 - - 1960 - overlay_path: - - pmm: ribbon # Oscars/IMDB top 250 - template_variables: - use_rotten: false - use_metacritic: false - use_common: false + collection_files: + # Custom collections - https://kometa.wiki/en/latest/files/collections/ + - file: config/movies.yml + # Recently released media - https://kometa.wiki/en/latest/defaults/chart/basic/ + - default: basic + # Common Sense - https://kometa.wiki/en/latest/defaults/both/content_rating_cs/ + - default: content_rating_cs + template_variables: + sort_by: title.asc + item_label: kids + include: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + # "Best of" by decade - https://kometa.wiki/en/latest/defaults/movie/decade/ + - default: decade + template_variables: + limit: 20 + exclude: + - 1920 + - 1930 + - 1940 + - 1950 + - 1960 + # Emmy winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/emmy/ + - default: emmy + schedule: monthly(30) + template_variables: + data: + starting: current_year-5 + ending: current_year-1 + # IMDb Top 250 - https://kometa.wiki/en/latest/defaults/chart/imdb/ + - default: imdb + schedule: monthly(1) + template_variables: + use_all: false + use_top: true + # Oscar winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/oscars/ + - default: oscars + template_variables: + use_best_picture: false + use_best_director: false + data: + starting: current_year-5 + ending: current_year-1 + # StevenLu's Popular, Top 10 Pirated, and Common Sense - https://kometa.wiki/en/latest/defaults/chart/other/ + - default: other_chart + template_variables: + use_all: false + use_stevenlu: true + use_commonsense: true + use_pirated: true + # Create seasonal collections based on holidays - https://kometa.wiki/en/latest/defaults/movie/seasonal/ + - default: seasonal + schedule: weekly(thursday) + template_variables: + limit: 100 + use_all: false + use_years: true + use_valentine: true + use_patrick: true + use_easter: true + use_mother: true + use_independence: true + use_halloween: true + use_veteran: true + use_thanksgiving: true + use_christmas: true + # Plex popular/most watched - https://kometa.wiki/en/latest/defaults/chart/tautulli/ + - default: tautulli + template_variables: + list_days: 7 + summary_popular: "A collection of movies Popular on Plex for the last week." + summary_watched: "A collection of Top movies Watched on Plex for the last week." + # Top 20 Popular, trending, and watched movies/shows - https://kometa.wiki/en/latest/defaults/chart/trakt/ + - default: trakt + template_variables: + limit: 20 + use_all: false + use_popular: true + use_trending: true + use_watched: true + overlay_files: + # Add a ribbon to the lower right if in IMDB 250, or is an Oscars or Emmy winner - https://kometa.wiki/en/latest/defaults/overlays/ribbon/ + - default: ribbon + template_variables: + use_all: false + use_oscars: true + use_emmys: true + use_imdb: true 4K TV Shows: + report_path: /config/reports/4ktvshows.yml settings: asset_directory: - - config/assets/tv_shows - - config/assets/tv_show_collections + - config/assets/tvshows + - config/assets/tvshow_collections operations: - #assets_for_all: true - mass_critic_rating_update: tmdb delete_collections: - unmanaged: true - unconfigured: true + managed: false + configured: false less: 3 - template_variables: # Disable the separator for collections + template_variables: + # Disable the separator for collections - https://kometa.wiki/en/latest/defaults/separators/ use_separator: false - metadata_path: - - file: config/TV Shows.yml - - pmm: tautulli # Plex popular/most watched - - pmm: flixpatrol # Top across networks, according to flixpatrol - template_variables: - sonarr_add_missing: true - - pmm: imdb #IMDb Top 250 - template_variables: - sonarr_add_missing: true - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 - - pmm: emmy # Emmy winners for the last 5 years - template_variables: - radarr_add_missing: true - - pmm: show/decade # "Best of" by decade - template_variables: - limit: 20 - exclude: - - 1920 - - 1930 - - 1940 - - 1950 - - 1960 - overlay_path: - - pmm: resolution # Add a small "4K UHD" image in the top left corner - template_variables: - use_edition: false - use_1080p: false - use_720p: false - use_576p: false - use_480p: false - use_dv: false - use_hdr: false - - pmm: ribbon # Oscars/IMDB top 250 - template_variables: - use_rotten: false - use_metacritic: false - use_common: false + collection_files: + # Custom collections - https://kometa.wiki/en/latest/files/collections/ + - file: config/tvshows.yml + # Recently released media - https://kometa.wiki/en/latest/defaults/chart/basic/ + - default: basic + # Plex popular/most watched - https://kometa.wiki/en/latest/defaults/chart/tautulli/ + - default: tautulli + template_variables: + list_days: 7 + summary_popular: "A collection of shows Popular on Plex for the last week." + summary_watched: "A collection of Top shows Watched on Plex for the last week." + # IMDb Top 250 - https://kometa.wiki/en/latest/defaults/chart/imdb/ + - default: imdb + schedule: monthly(1) + template_variables: + use_all: false + use_top: true + # Top 20 Popular, trending, and watched movies/shows - https://kometa.wiki/en/latest/defaults/chart/trakt/ + - default: trakt + template_variables: + limit: 20 + use_all: false + use_popular: true + use_trending: true + use_watched: true + # Emmy winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/emmy/ + - default: emmy + template_variables: + data: + starting: current_year-5 + ending: current_year-1 + # "Best of" by decade - https://kometa.wiki/en/latest/defaults/show/decade/ + - default: decade + template_variables: + limit: 20 + exclude: + - 1920 + - 1930 + - 1940 + - 1950 + - 1960 + - default: network + overlay_files: + # Add a banner to the top of the show poster that states whether the show is airing, returning, cancelled, or ended - https://kometa.wiki/en/latest/defaults/overlays/status/ + - default: status + template_variables: + horizontal_align: center + vertical_align: top + vertical_offset: 0 + horizontal_offset: 0 + back_height: 85 + back_width: 1100 + font: config/fonts/Avenir_95_Black.ttf + font_size: 60 + back_color_airing: '#016920' + back_color_returning: '#81007F' + back_color_canceled: '#B52222' + back_color_ended: '#000847' + # Add a 4K* to the top left of the show poster - https://kometa.wiki/en/latest/defaults/overlays/resolution/ + - default: resolution + template_variables: + use_all: false + use_edition: true + use_4k: true + use_4k_hdr: true + use_4k_dv: true + use_4k_plus: true + use_4k_dvhdr: true + use_4k_dvhdrplus: true + # Add a 4K* to the top left of the season poster - https://kometa.wiki/en/latest/defaults/overlays/resolution/ + - default: resolution + template_variables: + builder_level: season + use_all: false + use_edition: true + use_4k: true + use_4k_hdr: true + use_4k_dv: true + use_4k_plus: true + use_4k_dvhdr: true + use_4k_dvhdrplus: true + # Add a 4K* to the top left of the episode poster - https://kometa.wiki/en/latest/defaults/overlays/resolution/ + - default: resolution + template_variables: + builder_level: episode + use_all: false + use_edition: true + use_4k: true + use_4k_hdr: true + use_4k_dv: true + use_4k_plus: true + use_4k_dvhdr: true + use_4k_dvhdrplus: true + # Add a ribbon to the lower right if in IMDB 250, or is an Oscars or Emmy winner - https://kometa.wiki/en/latest/defaults/overlays/ribbon/ + - default: ribbon + template_variables: + use_all: false + use_oscars: true + use_emmys: true + use_imdb: true sonarr: - url: http://sonarr4k:8989 + url: 'http://sonarr4k:8989' token: <redacted> root_folder_path: /mnt/unionfs/media/4ktvshows monitor: all @@ -236,127 +373,174 @@ libraries: # Library mappings must have a c language_profile: English series_type: standard season_folder: true - tag: + tag: kometa search: false cutoff_search: false add_existing: false add_missing: false - upgrade_existing: true - sonarr_path: - plex_path: + upgrade_existing: false + sonarr_path: null + plex_path: null + ignore_cache: false TV Shows: + report_path: /config/reports/tvshows.yml settings: asset_directory: - - config/assets/tv_shows - - config/assets/tv_show_collections + - config/assets/tvshows + - config/assets/tvshow_collections operations: - #assets_for_all: true - mass_critic_rating_update: tmdb + assets_for_all: true delete_collections: - unmanaged: true - unconfigured: true + managed: false + configured: false less: 3 - template_variables: # Disable the separator for collections + template_variables: + # Disable the separator for collections - https://kometa.wiki/en/latest/defaults/separators/ use_separator: false - metadata_path: - - file: config/TV Shows.yml - - pmm: tautulli # Plex popular/most watched - - pmm: flixpatrol # Top across networks, according to flixpatrol - template_variables: - sonarr_add_missing: true - - pmm: imdb #IMDb Top 250 - template_variables: - sonarr_add_missing: true - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 - - pmm: emmy # Emmy winners for the last 5 years - template_variables: - radarr_add_missing: true - Anime: - settings: - #assets_for_all: true - asset_directory: config/assets/anime - template_variables: # Disable the separator for collections - use_separator: false - metadata_path: - - file: config/Anime.yml - - pmm: tautulli # Plex popular/most watched - - pmm: flixpatrol # Top across networks, according to flixpatrol - - pmm: imdb #IMDb Top 250 - template_variables: - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 - - pmm: emmy # Emmy winners for the last 5 years - template_variables: - use_year_collections: false - data: - starting: current_year-5 - ending: current_year-1 - sonarr: - root_folder_path: /mnt/unionfs/media/anime - series_type: anime + collection_files: + # Custom collections - https://kometa.wiki/en/latest/files/collections/ + - file: config/tvshows.yml + # Recently released media - https://kometa.wiki/en/latest/defaults/chart/basic/ + - default: basic + # Plex popular/most watched - https://kometa.wiki/en/latest/defaults/chart/tautulli/ + - default: tautulli + template_variables: + list_days: 7 + summary_popular: "A collection of shows Popular on Plex for the last week." + summary_watched: "A collection of Top shows Watched on Plex for the last week." + # IMDb Top 250 - https://kometa.wiki/en/latest/defaults/chart/imdb/ + - default: imdb + schedule: monthly(1) + template_variables: + use_all: false + use_top: true + # Top 20 Popular, trending, and watched movies/shows - https://kometa.wiki/en/latest/defaults/chart/trakt/ + - default: trakt + template_variables: + limit: 20 + use_all: false + use_popular: true + use_trending: true + use_watched: true + # Emmy winners for the last 5 years - https://kometa.wiki/en/latest/defaults/award/emmy/ + - default: emmy + template_variables: + data: + starting: current_year-5 + ending: current_year-1 + # "Best of" by decade - https://kometa.wiki/en/latest/defaults/show/decade/ + - default: decade + template_variables: + limit: 20 + exclude: + - 1920 + - 1930 + - 1940 + - 1950 + - 1960 + - default: network + overlay_files: + # Add a ribbon to the lower right if in IMDB 250, or is an Oscars or Emmy winner - https://kometa.wiki/en/latest/defaults/overlays/ribbon/ + - default: ribbon + template_variables: + use_all: false + use_oscars: true + use_emmys: true + use_imdb: true + # Add a banner to the top of the show poster that states whether the show is airing, returning, cancelled, or ended - https://kometa.wiki/en/latest/defaults/overlays/status/ + - default: status + template_variables: + horizontal_align: center + vertical_align: top + vertical_offset: 0 + horizontal_offset: 0 + back_height: 85 + back_width: 1100 + font: config/fonts/Avenir_95_Black.ttf + font_size: 60 + back_color_airing: '#016920' + back_color_returning: '#81007F' + back_color_canceled: '#B52222' + back_color_ended: '#000847' Kid's TV: + report_path: /config/reports/kidstv.yml settings: asset_directory: - - config/assets/tv_shows - - config/assets/tv_show_collections + - config/assets/tvshows + - config/assets/tvshow_collections operations: - #assets_for_all: true - mass_critic_rating_update: tmdb - template_variables: # Disable the separator for collections + assets_for_all: true + mass_content_rating_update: mdb_commonsense + template_variables: + # Disable the separator for collections - https://kometa.wiki/en/latest/defaults/separators/ use_separator: false - metadata_path: - - file: config/KidsTV.yml - - pmm: tautulli # Plex popular/most watched - - pmm: flixpatrol # Top across networks, according to flixpatrol - - pmm: imdb #IMDb Top 250 - template_variables: - use_popular: false - use_lowest: false - - pmm: trakt # Top 20 Popular, trending, and watched movies/shows - template_variables: - use_collected: false - use_recommended: false - limit: 20 + collection_files: + # Custom collections - https://kometa.wiki/en/latest/files/collections/ + - file: config/kidstv.yml + # Plex popular/most watched - https://kometa.wiki/en/latest/defaults/chart/tautulli/ + - default: tautulli + template_variables: + list_days: 7 + summary_popular: "A collection of shows Popular on Plex for the last week." + summary_watched: "A collection of Top shows Watched on Plex for the last week." + # Common Sense - https://kometa.wiki/en/latest/defaults/both/content_rating_cs/ + - default: content_rating_cs + template_variables: + use_other: false + include: + - 1 + - 2 + - 3 + - 4 + - 5 + - 6 + - default: network sonarr: + url: 'http://sonarr:8989' + token: <redacted> + add_missing: false + add_existing: false root_folder_path: /mnt/unionfs/media/kidstv -settings: # Can be individually specified per library as well - # General Settings + monitor: all + quality_profile: Any + language_profile: English + series_type: standard + season_folder: true + tag: kometa + search: false + cutoff_search: false + sonarr_path: null + plex_path: null + upgrade_existing: false + ignore_cache: false +settings: + run_order: + - operations + - metadata + - collections + - overlays cache: true - cache_expiration: 60 + cache_expiration: 30 run_again_delay: 2 - save_report: false + save_report: true tvdb_language: eng item_refresh_delay: 0 verify_ssl: true - custom_repo: - check_nightly: false - # Asset Settings + custom_repo: null asset_directory: config/assets asset_folders: true asset_depth: 1 create_asset_folders: false - prioritize_assets: false + prioritize_assets: true dimensional_asset_rename: false download_url_assets: false - show_missing_assets: false - show_missing_season_assets: true - show_missing_episode_assets: true + show_missing_assets: true + show_missing_season_assets: false + show_missing_episode_assets: false show_asset_not_needed: false - # Collection Settings sync_mode: sync minimum_items: 3 - default_collection_order: + default_collection_order: null delete_below_minimum: true delete_not_scheduled: false missing_only_released: true @@ -365,34 +549,39 @@ settings: # Can be individually specified show_filtered: false show_options: false show_missing: false - ignore_ids: - ignore_imdb_ids: - # Playlist Settings - playlist_sync_to_user: all + ignore_ids: '116718,138435,340995,335912' + ignore_imdb_ids: null + playlist_sync_to_users: all playlist_report: false show_unconfigured: true - playlist_exclude_users: -webhooks: # Can be individually specified per library as well - error: https://discord.com/api/webhooks/<redacted>/<redacted> - version: - run_start: - run_end: https://discord.com/api/webhooks/<redacted>/<redacted> - changes: - delete: -plex: # Can be individually specified per library as well - url: http://plex:32400 + playlist_exclude_users: null + overlay_artwork_filetype: jpg + overlay_artwork_quality: 75 +webhooks: + error: >- + https://discord.com/api/webhooks/1121510900596224060/-YMjoX0sE8fEn4BnMik80Z49Mo55NrlKIvuXAeE5Zh_SXSlmNFvZwX1Y2H8clshYR-_9 + version: null + run_start: null + run_end: >- + https://discord.com/api/webhooks/1121510900596224060/-YMjoX0sE8fEn4BnMik80Z49Mo55NrlKIvuXAeE5Zh_SXSlmNFvZwX1Y2H8clshYR-_9 + changes: null + delete: null +plex: + url: 'http://plex:32400' token: <redacted> timeout: 60 clean_bundles: false empty_trash: false optimize: false + db_cache: 4096 + verify_ssl: false tmdb: apikey: <redacted> language: en cache_expiration: 60 - region: -tautulli: # Can be individually specified per library as well - url: http://tautulli:8181 + region: US +tautulli: + url: 'http://tautulli:8181' apikey: <redacted> omdb: apikey: <redacted> @@ -400,15 +589,8 @@ omdb: mdblist: apikey: <redacted> cache_expiration: 60 -notifiarr: - apikey: -anidb: # Not required for AniDB builders unless you want mature content - username: - password: - language: en - client: -radarr: # Can be individually specified per library as well - url: http://radarr:7878 +radarr: + url: 'http://radarr:7878' token: <redacted> add_existing: false add_missing: false @@ -416,13 +598,15 @@ radarr: # Can be individually specified monitor: true availability: announced quality_profile: Any - tag: - search: false - radarr_path: - plex_path: + tag: kometa + search: true + radarr_path: null + plex_path: null upgrade_existing: false -sonarr: # Can be individually specified per library as well - url: http://sonarr:8989 + ignore_cache: false + monitor_existing: false +sonarr: + url: 'http://sonarr:8989' token: <redacted> add_missing: false add_existing: false @@ -432,30 +616,22 @@ sonarr: # Can be individually specified language_profile: English series_type: standard season_folder: true - tag: + tag: kometa search: false cutoff_search: false - sonarr_path: - plex_path: + sonarr_path: null + plex_path: null upgrade_existing: false + ignore_cache: false + monitor_existing: false trakt: client_id: <redacted> client_secret: <redacted> - pin: + pin: null authorization: access_token: <redacted> - token_type: + token_type: Bearer expires_in: refresh_token: <redacted> - scope: - created_at: -mal: - client_id: - client_secret: - authorization: - # everything below is autofilled by the script - access_token: -<redacted> - expires_in: - refresh_token: -<redacted> \ No newline at end of file + scope: public + created_at: \ No newline at end of file diff --git a/shayne55434/fonts/Adlib.ttf b/shayne55434/fonts/Adlib.ttf new file mode 100644 index 0000000..4bc3531 Binary files /dev/null and b/shayne55434/fonts/Adlib.ttf differ diff --git a/shayne55434/fonts/Avenir_95_Black.ttf b/shayne55434/fonts/Avenir_95_Black.ttf new file mode 100644 index 0000000..ae7a536 Binary files /dev/null and b/shayne55434/fonts/Avenir_95_Black.ttf differ diff --git a/shayne55434/fonts/Claspo-ND-Medium.ttf b/shayne55434/fonts/Claspo-ND-Medium.ttf new file mode 100644 index 0000000..3272522 Binary files /dev/null and b/shayne55434/fonts/Claspo-ND-Medium.ttf differ diff --git a/shayne55434/fonts/Handel Gothic ITC W01 Heavy.ttf b/shayne55434/fonts/Handel Gothic ITC W01 Heavy.ttf new file mode 100644 index 0000000..d8a3d71 Binary files /dev/null and b/shayne55434/fonts/Handel Gothic ITC W01 Heavy.ttf differ diff --git a/shayne55434/fonts/HelveticaNowDisplay-ExtBlk.ttf b/shayne55434/fonts/HelveticaNowDisplay-ExtBlk.ttf new file mode 100644 index 0000000..5dce830 Binary files /dev/null and b/shayne55434/fonts/HelveticaNowDisplay-ExtBlk.ttf differ diff --git a/shayne55434/fonts/Impact.ttf b/shayne55434/fonts/Impact.ttf new file mode 100644 index 0000000..114e6c1 Binary files /dev/null and b/shayne55434/fonts/Impact.ttf differ diff --git a/shayne55434/fonts/Myriad Bold.otf b/shayne55434/fonts/Myriad Bold.otf new file mode 100644 index 0000000..16d6d19 Binary files /dev/null and b/shayne55434/fonts/Myriad Bold.otf differ diff --git a/shayne55434/overlays/4K.png b/shayne55434/overlays/4K.png new file mode 100644 index 0000000..15a47c2 Binary files /dev/null and b/shayne55434/overlays/4K.png differ diff --git a/shayne55434/overlays/4K_mini.png b/shayne55434/overlays/4K_mini.png new file mode 100644 index 0000000..c8e7a65 Binary files /dev/null and b/shayne55434/overlays/4K_mini.png differ diff --git a/shayne55434/overlays/Dolby.png b/shayne55434/overlays/Dolby.png new file mode 100644 index 0000000..118f687 Binary files /dev/null and b/shayne55434/overlays/Dolby.png differ diff --git a/shayne55434/overlays/HDR.png b/shayne55434/overlays/HDR.png new file mode 100644 index 0000000..4ec1692 Binary files /dev/null and b/shayne55434/overlays/HDR.png differ diff --git a/shayne55434/TV Shows.yml b/shayne55434/tvshows.yml similarity index 58% rename from shayne55434/TV Shows.yml rename to shayne55434/tvshows.yml index fbe7ec2..0743b7e 100644 --- a/shayne55434/TV Shows.yml +++ b/shayne55434/tvshows.yml @@ -1,16 +1,29 @@ templates: Chart: sort_title: +1_<<num>><<collection_name>> - sync_mode: sync + sync_mode: append network: optional: - network tmdb_network: <<network>> sort_title: +2_<<collection_name>> - sync_mode: sync + sync_mode: append collections: ###################################################### +# Custom # +###################################################### + Continue Watching: + summary: Shows that have been played, but contain unwatched episodes. + sort_title: "!000_Continue Watching" +# plex_search: + smart_filter: + any: + episode_progress: true + all: + unplayed_episodes: true + plays.gt: 0 +###################################################### # Charts # ###################################################### @@ -65,6 +78,10 @@ collections: tmdb_show: 1416 item_assets: true build_collection: false + It's Always Sunny in Philadelphia: + tmdb_show: 2710 + item_assets: true + build_collection: false The Mandalorian: tmdb_show: 82856 item_assets: true @@ -101,6 +118,10 @@ collections: tmdb_show: 31910 item_assets: true build_collection: false + New Girl: + tmdb_show: 1420 + item_assets: true + build_collection: false Once Upon a Time: tmdb_show: 39272 item_assets: true @@ -116,7 +137,7 @@ collections: Rick and Morty: tmdb_show: 60625 item_assets: true - build_collection: false + # build_collection: false Sherlock: tmdb_show: 19885 item_assets: true @@ -177,110 +198,110 @@ collections: ###################################################### # Network Collections # ###################################################### - A&E: - template: - name: network - network: "129, 2639, 3688" - ABC: - template: - name: network - network: "2, 75, 2791" - schedule: weekly(sunday) - Adult Swim: - template: - name: network - network: "80" - Apple+: - template: - name: network - network: "2552" - Amazon: - template: - name: network - network: "1024" - AMC: - template: - name: network - network: "174, 4661" - Cartoon Network: - template: - name: network - network: "56, 217, 1232, 1483, 2193, 3917, 4771" - CBS: - template: - name: network - network: "16, 2528, 1709, 2621" - schedule: weekly(sunday) - Cinemax: - template: - name: network - network: "359" - Discovery: - template: - name: network - network: "10, 22, 64, 106, 244, 626, 670, 1079, 1287, 1534, 2087, 2480, 2692, 3045, 3591, 3900, 3953, 4440, 4462, 4741" - Disney+: - template: - name: network - network: "2739, 2919" - Fox: - template: - name: network - network: "19" - Freeform: - template: - name: network - network: "1267" - FX: - template: - name: network - network: "88" - FXX: - template: - name: network - network: "1035" - HBO: - template: - name: network - network: "49, 2593, 3186, 3308" - HGTV: - template: - name: network - network: "210" - Hulu: - template: - name: network - network: "453" - National Geographic: - template: - name: network - network: "43, 799, 1756, 1825, 3355, 4293, 4476" - Netflix: - template: - name: network - network: "213" - schedule: weekly(sunday) - Prime Video: - template: - name: network - network: "1024" - Showtime: - template: - name: network - network: "67" - Starz: - template: - name: network - network: "318, 758, 4906" - Syfy: - template: - name: network - network: "77, 3701" - TBS: - template: - name: network - network: "68, 160, 4888" - YouTube: - template: - name: network - network: "247, 1436, 4869" \ No newline at end of file +# A&E: +# template: +# name: network +# network: "129, 2639, 3688" +# ABC: +# template: +# name: network +# network: "2, 75, 2791" +# schedule: weekly(sunday) +# Adult Swim: +# template: +# name: network +# network: "80" +# Apple+: +# template: +# name: network +# network: "2552" +# Amazon: +# template: +# name: network +# network: "1024" +# AMC: +# template: +# name: network +# network: "174, 4661" +# Cartoon Network: +# template: +# name: network +# network: "56, 217, 1232, 1483, 2193, 3917, 4771" +# CBS: +# template: +# name: network +# network: "16, 2528, 1709, 2621" +# schedule: weekly(sunday) +# Cinemax: +# template: +# name: network +# network: "359" +# Discovery: +# template: +# name: network +# network: "10, 22, 64, 106, 244, 626, 670, 1079, 1287, 1534, 2087, 2480, 2692, 3045, 3591, 3900, 3953, 4440, 4462, 4741" +# Disney+: +# template: +# name: network +# network: "2739, 2919" +# Fox: +# template: +# name: network +# network: "19" +# Freeform: +# template: +# name: network +# network: "1267" +# FX: +# template: +# name: network +# network: "88" +# FXX: +# template: +# name: network +# network: "1035" +# HBO: +# template: +# name: network +# network: "49, 2593, 3186, 3308" +# HGTV: +# template: +# name: network +# network: "210" +# Hulu: +# template: +# name: network +# network: "453" +# National Geographic: +# template: +# name: network +# network: "43, 799, 1756, 1825, 3355, 4293, 4476" +# Netflix: +# template: +# name: network +# network: "213" +# schedule: weekly(sunday) +# Prime Video: +# template: +# name: network +# network: "1024" +# Showtime: +# template: +# name: network +# network: "67" +# Starz: +# template: +# name: network +# network: "318, 758, 4906" +# Syfy: +# template: +# name: network +# network: "77, 3701" +# TBS: +# template: +# name: network +# network: "68, 160, 4888" +# YouTube: +# template: +# name: network +# network: "247, 1436, 4869" \ No newline at end of file