From 83c090e1e24fcd1232c2188e52d05ab6232d73a1 Mon Sep 17 00:00:00 2001 From: meisnate12 Date: Fri, 12 Nov 2021 11:48:31 -0500 Subject: [PATCH] v1.13.0 Update --- AniDB-Attributes.md | 2 +- Collection-Details.md | 10 +- Configuration-File.md | 1 + Home.md | 15 ++- Image-Asset-Directory.md | 182 ++++++++++++++++++++++++++++++++++++ Libraries-Attributes.md | 41 +++++++-- MyAnimeList-Attributes.md | 2 +- Notifiarr-Attributes.md | 25 +++++ OMDb-Attributes.md | 2 +- Operations-Attributes.md | 29 ++++++ Plex-Attributes.md | 2 +- Radarr-Attributes.md | 2 +- Seasons-Attributes.md | 3 + Settings-Attributes.md | 189 +++----------------------------------- Sonarr-Attributes.md | 2 +- TMDb-Attributes.md | 2 +- Tautulli-Attributes.md | 2 +- Trakt-Attributes.md | 2 +- Trakt-Builders.md | 52 +++++++++-- Webhooks-Attributes.md | 133 +++++++++++++++++++++++++++ _Sidebar.md | 10 +- 21 files changed, 495 insertions(+), 213 deletions(-) create mode 100644 Image-Asset-Directory.md create mode 100644 Notifiarr-Attributes.md create mode 100644 Operations-Attributes.md create mode 100644 Webhooks-Attributes.md diff --git a/AniDB-Attributes.md b/AniDB-Attributes.md index 7fc1575..0c3d58d 100644 --- a/AniDB-Attributes.md +++ b/AniDB-Attributes.md @@ -1,4 +1,4 @@ -Configuring [AniDB.net](https://anidb.net/) is optional but can allow you to access mature content with AniDB Builders. +Configuring [AniDB](https://anidb.net/) is optional but can allow you to access mature content with AniDB Builders. **All AniDB Builders still work without this, they will just not have mature content** diff --git a/Collection-Details.md b/Collection-Details.md index 0b0dbd2..90f56b7 100644 --- a/Collection-Details.md +++ b/Collection-Details.md @@ -74,8 +74,11 @@ All the following attributes serve various functions as how the collection funct | Show Filtered Collections | `show_filtered` | Collection level `show_filtered` toggle
**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | | Show Missing Collections | `show_missing` | Collection level `show_missing` toggle
**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | | Save Missing Collections | `save_missing` | Collection level `save_missing` toggle
**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | -| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) | Folder Name In Assets Directory | +| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) | Folder Name In Assets Directory | | Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Local-Installation#run-tests)) only collections with `test: true` will be run
**Default:** `false` | **boolean:** `true` or `false` | +| Collection Creation Webhooks | `collection_creation_webhooks` | Used to specify a collection creation webhook for just this collection | List of webhooks | +| Collection Addition Webhooks | `collection_addition_webhooks` | Used to specify a collection addition webhook for just this collection | List of webhooks | +| Collection Removal Webhooks | `collection_removal_webhooks` | Used to specify a collection removal webhook for just this collection | List of webhooks | * **Name Mapping:** If your collection name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*` cannot be in the file path), but you want them in your collection name you can use the `name_mapping` attribute to specific this collection's name in the file system. @@ -147,6 +150,7 @@ All the following attributes update various details of the metadata for every it | Label Sync | `item_label.sync` | Matches the labels of every movie/show in the collection to the labels provided | Comma-separated string of labels to sync | :heavy_check_mark: | :heavy_check_mark: | | Image Overlay | `item_overlay` | Adds and overlay image to the poster of every movie/show in the collection | [`item_overlay` details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Overlay-Attribute) | :heavy_check_mark: | :heavy_check_mark: | | Check For Assets | `item_assets` | Checks your assets folders for assets of every movie/show in the collection | `true` or `false`
**Default:** false | :heavy_check_mark: | :heavy_check_mark: | +| Refresh Item | `item_refresh` | Refreshes the metadata of every movie/show in the collection | `true` or `false`
**Default:** false | :heavy_check_mark: | :heavy_check_mark: | | Episode Sorting | `item_episode_sorting` | Changes the episode sorting of every show in the collection | `default`: Library default
`oldest`: Oldest first
`newest`: Newest first | :x: | :heavy_check_mark: | | Keep Episodes | `item_keep_episodes` | Changes the keep episodes of every show in the collection | `all`: All episodes
`5_latest`: 5 latest episodes
`3_latest`: 3 latest episodes
`latest`: Latest episodes
`past_3`: Episodes added in the past 3 days
`past_7`: Episodes added in the past 7 days
`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: | | Delete Episodes | `item_delete_episodes` | Changes the delete episodes of every show in the collection | `never`: Never
`day`: After a day
`week`: After a week
`refresh`: On next refresh | :x: | :heavy_check_mark: | @@ -183,7 +187,7 @@ All the following attributes update the poster of the collection from various so | TVDb Poster2 | `tvdb_poster` | Used to change the collection's poster to the TVDb Movie poster for a movie library or the TVDb Show poster for a show library | TVDb Movie/Show ID or URL | | File Poster2 | `file_poster` | Used to change the collection's poster to the image in the file system | Path to image in the file system | -* If no poster is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension). +* If no poster is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `poster.ext` file in that folder (replacing .ext with the image extension). ## Background Details All the following attributes update the background of the collection from various sources. @@ -195,4 +199,4 @@ All the following attributes update the background of the collection from variou | TVDb Background3 | `tvdb_background` | Used to change the collection's background to the TVDb Movie background for a movie library or the TVDb Show background for a show library | TVDb Movie/Show ID or URL | | File Background3 | `file_background` | Used to change the collection's background to the image in the file system | Path to image in the file system | -* If no background is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension). +* If no background is specified the script will look in the library's [Image Asset Directories](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) for a folder named either the collection name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension). diff --git a/Configuration-File.md b/Configuration-File.md index 676ecf4..a7faa8a 100644 --- a/Configuration-File.md +++ b/Configuration-File.md @@ -18,5 +18,6 @@ The YAML mappings that can be set in the configuration file's root: | [OMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/OMDb-Attributes) | `omdb` | :x: | | [Trakt](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Trakt-Attributes) | `trakt` | :x: | | [MyAnimeList](https://github.com/meisnate12/Plex-Meta-Manager/wiki/MyAnimeList-Attributes) | `mal` | :x: | +| [Webhooks](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Webhooks-Attributes) | `webhooks` | :x: | * You can find a template config file in [config/config.yml.template](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/config/config.yml.template) \ No newline at end of file diff --git a/Home.md b/Home.md index d8d608a..32dcaf1 100644 --- a/Home.md +++ b/Home.md @@ -3,11 +3,12 @@ This wiki should tell you everything you need to know about the script to get it working. [![GitHub release (latest by date)](https://img.shields.io/github/v/release/meisnate12/Plex-Meta-Manager?style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/releases) -[![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/meisnate12/plex-meta-manager/latest/develop?label=Number%20of%20Commits%20in%20Develop&style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/tree/develop) +[![GitHub commits since latest release (by SemVer)](https://img.shields.io/github/commits-since/meisnate12/plex-meta-manager/latest/develop?label=Commits%20in%20Develop&style=plastic)](https://github.com/meisnate12/Plex-Meta-Manager/tree/develop) [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/meisnate12/plex-meta-manager?label=docker&sort=semver&style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager) [![Docker Cloud Build Status](https://img.shields.io/docker/cloud/build/meisnate12/plex-meta-manager?style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager) +[![Docker Pulls](https://img.shields.io/docker/pulls/meisnate12/plex-meta-manager?style=plastic)](https://hub.docker.com/r/meisnate12/plex-meta-manager) [![Discord](https://img.shields.io/discord/822460010649878528?label=Discord&style=plastic)](https://discord.gg/TsdpsFYqqm) -[![Donate](https://img.shields.io/badge/-Sponsor_or_Donate-blueviolet?style=plastic)](https://github.com/sponsors/meisnate12) +[![Sponsor or Donate](https://img.shields.io/badge/-Sponsor_or_Donate-blueviolet?style=plastic)](https://github.com/sponsors/meisnate12) ## Getting Started @@ -34,15 +35,19 @@ This wiki should tell you everything you need to know about the script to get it - [unRAID Installation](unRAID-Installation) - [Configuration File](Configuration-File) - [Libraries Attributes](Libraries-Attributes) + - [Operations Attributes](Operations-Attributes) - [Settings Attributes](Settings-Attributes) + - [Image Asset Directory](Image-Asset-Directory) + - [Webhook Attributes](Webhook-Attributes) - [Plex Attributes](Plex-Attributes) - [TMDb Attributes](TMDb-Attributes) - - [Radarr Attributes](Radarr-Attributes) - - [Sonarr Attributes](Sonarr-Attributes) - [Tautulli Attributes](Tautulli-Attributes) - [OMDb Attributes](OMDb-Attributes) - - [Trakt Attributes](Trakt-Attributes) + - [Notifiarr Attributes](Notifiarr-Attributes) - [AniDB Attributes](AniDB-Attributes) + - [Radarr Attributes](Radarr-Attributes) + - [Sonarr Attributes](Sonarr-Attributes) + - [Trakt Attributes](Trakt-Attributes) - [MyAnimeList Attributes](MyAnimeList-Attributes) - [Metadata File](Metadata-File) - [Metadata Attributes](Metadata-Attributes) diff --git a/Image-Asset-Directory.md b/Image-Asset-Directory.md new file mode 100644 index 0000000..46ff49d --- /dev/null +++ b/Image-Asset-Directory.md @@ -0,0 +1,182 @@ +The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes. + +To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets. + +There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`. + +| Image Type | Image Path With Folders
`asset_folders: true` | Image Path Without Folder
`asset_folders: false` | +| :--- | :--- | :--- | +| Collection/Movie/Show poster | `assets/ASSET_NAME/poster.ext` | `assets/ASSET_NAME.ext` | +| Collection/Movie/Show background | `assets/ASSET_NAME/background.ext` | `assets/ASSET_NAME_background.ext` | +| Season poster | `assets/ASSET_NAME/Season##.ext` | `assets/ASSET_NAME_Season##.ext` | +| Season background | `assets/ASSET_NAME/Season##_background.ext` | `assets/ASSET_NAME_Season##_background.ext` | +| Episode poster | `assets/ASSET_NAME/S##E##.ext` | `assets/ASSET_NAME_S##E##.ext` | + +* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`. + +* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in. + +* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole. + +* For **Seasons** replace `##` with the zero padded season number (00 for specials) + +* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number + +* Replace `.ext` with the image extension + +By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config. + +If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show. + +You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library. + +Here's an example config folder structure with an assets directory with `asset_folders` set to true and false. + +### `asset_folders: true` without nesting + +``` +config +├── config.yml +├── Movies.yml +├── TV Shows.yml +├── assets +│ ├── The Lord of the Rings +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Fellowship of the Ring (2001) +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Two Towers (2002) +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Return of the King (2003) +│ ├── poster.png +│ ├── background.png +│ ├── Star Wars (Animated) +│ ├── poster.png +│ ├── background.png +│ ├── Star Wars The Clone Wars +│ ├── poster.png +│ ├── background.png +│ ├── Season00.png +│ ├── Season01.png +│ ├── Season02.png +│ ├── Season03.png +│ ├── Season04.png +│ ├── Season05.png +│ ├── Season06.png +│ ├── Season07.png +│ ├── S07E01.png +│ ├── S07E02.png +│ ├── S07E03.png +│ ├── S07E04.png +│ ├── S07E05.png +│ ├── Star Wars Rebels +│ ├── poster.png +│ ├── background.png +│ ├── Season01.png +│ ├── Season01_background.png +│ ├── Season02.png +│ ├── Season02_background.png +│ ├── Season03.png +│ ├── Season03_background.png +│ ├── Season04.png +│ ├── Season04_background.png +``` + +### `asset_folders: true` with nesting + +``` +config +├── config.yml +├── Movies.yml +├── TV Shows.yml +├── assets +│ ├── The Lord of the Rings +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Fellowship of the Ring (2001) +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Two Towers (2002) +│ ├── poster.png +│ ├── background.png +│ ├── The Lord of the Rings The Return of the King (2003) +│ ├── poster.png +│ ├── background.png +│ ├── Star Wars (Animated) +│ ├── poster.png +│ ├── background.png +│ ├── Star Wars The Clone Wars +│ ├── poster.png +│ ├── background.png +│ ├── Season00.png +│ ├── Season01.png +│ ├── Season02.png +│ ├── Season03.png +│ ├── Season04.png +│ ├── Season05.png +│ ├── Season06.png +│ ├── Season07.png +│ ├── S07E01.png +│ ├── S07E02.png +│ ├── S07E03.png +│ ├── S07E04.png +│ ├── S07E05.png +│ ├── Star Wars Rebels +│ ├── poster.png +│ ├── background.png +│ ├── Season01.png +│ ├── Season01_background.png +│ ├── Season02.png +│ ├── Season02_background.png +│ ├── Season03.png +│ ├── Season03_background.png +│ ├── Season04.png +│ ├── Season04_background.png +``` + +### `asset_folders: false` + +``` +config +├── config.yml +├── Movies.yml +├── TV Shows.yml +├── assets +│ ├── The Lord of the Rings.png +│ ├── The Lord of the Rings_background.png +│ ├── The Lord of the Rings The Fellowship of the Ring (2001).png +│ ├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png +│ ├── The Lord of the Rings The Two Towers (2002).png +│ ├── The Lord of the Rings The Two Towers (2002)_background.png +│ ├── The Lord of the Rings The Return of the King (2003).png +│ ├── The Lord of the Rings The Return of the King (2003)_background.png +│ ├── Star Wars (Animated).png +│ ├── Star Wars (Animated)_background.png +│ ├── Star Wars The Clone Wars.png +│ ├── Star Wars The Clone Wars_background.png +│ ├── Star Wars The Clone Wars_Season00.png +│ ├── Star Wars The Clone Wars_Season01.png +│ ├── Star Wars The Clone Wars_Season02.png +│ ├── Star Wars The Clone Wars_Season03.png +│ ├── Star Wars The Clone Wars_Season04.png +│ ├── Star Wars The Clone Wars_Season05.png +│ ├── Star Wars The Clone Wars_Season06.png +│ ├── Star Wars The Clone Wars_Season07.png +│ ├── Star Wars The Clone Wars_S07E01.png +│ ├── Star Wars The Clone Wars_S07E02.png +│ ├── Star Wars The Clone Wars_S07E03.png +│ ├── Star Wars The Clone Wars_S07E04.png +│ ├── Star Wars The Clone Wars_S07E05.png +│ ├── Star Wars Rebels.png +│ ├── Star Wars Rebels_background.png +│ ├── Star Wars Rebels_Season01.png +│ ├── Star Wars Rebels_Season01_background.png +│ ├── Star Wars Rebels_Season02.png +│ ├── Star Wars Rebels_Season02_background.png +│ ├── Star Wars Rebels_Season03.png +│ ├── Star Wars Rebels_Season03_background.png +│ ├── Star Wars Rebels_Season04.png +│ ├── Star Wars Rebels_Season04_background.png +``` \ No newline at end of file diff --git a/Libraries-Attributes.md b/Libraries-Attributes.md index 509eef0..8e49d7b 100644 --- a/Libraries-Attributes.md +++ b/Libraries-Attributes.md @@ -2,7 +2,7 @@ One of the two required configuration mappings is `libraries` which is where you Each library is defined by the mapping name which must be the same as the library name unless a different `library_name` is specified. You can either set attributes individually per library or you can let them be inherited from the global value. -A simple example of multiple libraries all using the global values is below: +An advance example of multiple libraries with some using the global values and some having their own values is below: ```yaml libraries: Movies: @@ -12,20 +12,47 @@ libraries: - git: meisnate12/Studios - git: meisnate12/IMDBGenres - git: meisnate12/People - mass_critic_rating_update: tmdb - split_duplicates: true + operations: + mass_critic_rating_update: tmdb + split_duplicates: true TV Shows: metadata_path: - file: config/TV Shows.yml - git: meisnate12/ShowCharts - git: meisnate12/Networks + TV Shows On Second Plex: + library_name: TV Shows + plex: + url: http://192.168.1.98:32400 + token: #################### + metadata_path: + - file: config/TV Shows.yml + - git: meisnate12/ShowCharts + - git: meisnate12/Networks Anime: metadata_path: - file: config/Anime.yml - git: meisnate12/AnimeCharts + radarr: + url: http://192.168.1.45:7878 + token: ################################ + root_folder_path: S:/Anime + settings: + asset_directory: + config/assets/anime plex: url: http://192.168.1.12:32400 token: #################### +radarr: + url: http://192.168.1.12:7878 + token: ################################ + add: true + root_folder_path: S:/Movies + monitor: true + availability: announced + quality_profile: HD-1080p + tag: pmm + search: false ``` The available attributes for each library are as follows @@ -34,13 +61,7 @@ The available attributes for each library are as follows | :--- | :--- | :--- | :---: | :---: | | [Library Name](#library-name) | `library_name` | Library name (Only needed when trying to use multiple libraries with the same name) | Base Attribute Name | :x: | | [Metadata Path](#metadata-path) | `metadata_path` | Location for your Metadata YAML files | Same directory as config YAML file | :x: | -| Mass Genre Update | `mass_genre_update` | Updates every item's genres in the library to the chosen site's genres
`tmdb`: Use TMDb for Genres
`tvdb`: Use TVDb for Genres
`omdb`: Use IMDb through OMDb for Genres | No Update | :x: | -| Mass Audience Rating Update | `mass_audience_rating_update` | Updates every item's audience rating in the library to the chosen site's rating
`tmdb`: Use TMDb for Rating
`omdb`: Use IMDb through OMDb for Rating | No Update | :x: | -| Mass Critic Rating Update | `mass_critic_rating_update` | Updates every item's critic rating in the library to the chosen site's rating
`tmdb`: Use TMDb for Rating
`omdb`: Use IMDb through OMDb for Rating | No Update | :x: | -| Mass Trakt Rating Update | `mass_trakt_rating_update` | Updates every movie/show's user rating in the library to match your custom rating on Trakt if there is one
`true` or `false` | `false` | :x: | -| Split Duplicates | `split_duplicates` | Splits all duplicate movies/shows found in this library
`true` or `false` | `false` | :x: | -| Radarr Add All | `radarr_add_all` | Adds every item in the library to Radarr | No Adds | :x: | -| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | No Adds | :x: | +| Operations Mapping | `operations` | [`operations` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Operations-Attributes) | N/A | :x: | | Settings Mapping | `settings` | [`settings` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | global | :x: | | Plex Mapping | `plex` | [`plex` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Attributes) | global | :heavy_check_mark: Either here or globally | | Radarr Mapping | `radarr` | [`radarr` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) | global | :x: | diff --git a/MyAnimeList-Attributes.md b/MyAnimeList-Attributes.md index 72e7c30..e3307b2 100644 --- a/MyAnimeList-Attributes.md +++ b/MyAnimeList-Attributes.md @@ -1,4 +1,4 @@ -Configuring MyAnimeList.net API is optional but is required for MyAnimeList based collections to function. +Configuring [MyAnimeList](https://myanimelist.net/) is optional but is required for MyAnimeList based collections to function. A `mal` mapping is in the root of the config file. diff --git a/Notifiarr-Attributes.md b/Notifiarr-Attributes.md new file mode 100644 index 0000000..077c77d --- /dev/null +++ b/Notifiarr-Attributes.md @@ -0,0 +1,25 @@ +Configuring [Notifiarr](https://notifiarr.com) is optional but can allow you to send the webhooks straight to notifiarr. + +A `notifiarr` mapping is in the root of the config file. + +Below is a `notifiarr` mapping example and the full set of attributes: +```yaml +notifiarr: + apikey: #################################### +``` + +| Name | Attribute | Allowed Values | Default | Required | +| :--- | :--- | :--- | :---: | :---: | +| API Key | `apikey` | Notifiarr API Key | N/A | :heavy_check_mark: | + +Once you have added the apikey your config.yml you have to add `notifiarr` to any webhook to send that notification to Notifiarr. + +```yaml +webhooks: + error: notifiarr + run_start: notifiarr + run_end: notifiarr + collection_creation: notifiarr + collection_addition: notifiarr + collection_removing: notifiarr +``` \ No newline at end of file diff --git a/OMDb-Attributes.md b/OMDb-Attributes.md index 5cc4734..03c405a 100644 --- a/OMDb-Attributes.md +++ b/OMDb-Attributes.md @@ -1,4 +1,4 @@ -Configuring OMDb API is optional but can allow you to mass edit metadata using IMDb. +Configuring [OMDb](https://www.omdbapi.com/) is optional but can allow you to mass edit metadata using IMDb. A `omdb` mapping is in the root of the config file. diff --git a/Operations-Attributes.md b/Operations-Attributes.md new file mode 100644 index 0000000..09aa40a --- /dev/null +++ b/Operations-Attributes.md @@ -0,0 +1,29 @@ +There are multiple different Library Operations you can have preformed on each of your libraries. + +You can define which operations you want to run under the `operations` attribute you can define per library. + +A simple example of using some operations is below: +```yaml +libraries: + Movies: + metadata_path: + - git: meisnate12/MovieCharts + operations: + mass_critic_rating_update: tmdb + split_duplicates: true +``` + +The available operations attributes for each library are as follows + +| Name | Attribute | Description | Allowed Values | +| :--- | :--- | :--- | :--- | +| Image Assets For All | `assets_for_all` | Search in assets for images for every item in your library | `true` or `false` | +| Delete Collections With Less | `delete_collections_with_less` | Deletes every collection with less then the given number | number greater then 0 | +| Delete Unmanaged Collections | `delete_unmanaged_collections` | Deletes every unmanaged collection | `true` or `false` | +| Mass Genre Update | `mass_genre_update` | Updates every item's genres in the library to the chosen site's genres | `tmdb`: Use TMDb for Genres
`tvdb`: Use TVDb for Genres
`omdb`: Use IMDb through OMDb for Genres | +| Mass Audience Rating Update | `mass_audience_rating_update` | Updates every item's audience rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating
`omdb`: Use IMDb through OMDb for Rating | +| Mass Critic Rating Update | `mass_critic_rating_update` | Updates every item's critic rating in the library to the chosen site's rating | `tmdb`: Use TMDb for Rating
`omdb`: Use IMDb through OMDb for Rating | +| Mass Trakt Rating Update | `mass_trakt_rating_update` | Updates every movie/show's user rating in the library to match your custom rating on Trakt if there is one | `true` or `false` | +| Split Duplicates | `split_duplicates` | Splits all duplicate movies/shows found in this library | `true` or `false` | +| Radarr Add All | `radarr_add_all` | Adds every item in the library to Radarr | `true` or `false` | +| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | `true` or `false` | diff --git a/Plex-Attributes.md b/Plex-Attributes.md index 09747aa..15a044c 100644 --- a/Plex-Attributes.md +++ b/Plex-Attributes.md @@ -1,4 +1,4 @@ -Configuring Plex is required in order to connect to your libraries. +Configuring [Plex](https://www.plex.tv/) is required in order to connect to your libraries. A `plex` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `plex` mapping individually per library. diff --git a/Radarr-Attributes.md b/Radarr-Attributes.md index b1c5832..c18b7a2 100644 --- a/Radarr-Attributes.md +++ b/Radarr-Attributes.md @@ -1,4 +1,4 @@ -Configuring Radarr is optional but will allow you to send movies to a Radarr instance when they're found missing while updating a library's collections. +Configuring [Radarr](https://radarr.video/) is optional but will allow you to send movies to a Radarr instance when they're found missing while updating a library's collections. A `radarr` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `radarr` mapping individually per library. diff --git a/Seasons-Attributes.md b/Seasons-Attributes.md index db0b024..937e4e7 100644 --- a/Seasons-Attributes.md +++ b/Seasons-Attributes.md @@ -38,9 +38,12 @@ metadata: ``` The available attributes for each season are as follows + | Name | Attribute | Allowed Values | | :--- | :--- | :--- | | Title | `title` | Text to change Title | | Summary | `summary` | Text to change Summary | | URL Poster | `url_poster` | URL of image publicly available on the internet | | File Poster | `file_poster` | Path to image in the file system | +| URL Background | `url_background` | URL of image publicly available on the internet | +| File Background | `file_background` | Path to image in the file system | diff --git a/Settings-Attributes.md b/Settings-Attributes.md index 1cb1593..53c0265 100644 --- a/Settings-Attributes.md +++ b/Settings-Attributes.md @@ -9,22 +9,32 @@ settings: cache_expiration: 60 asset_directory: config/assets asset_folders: true - assets_for_all: false sync_mode: append - run_again_delay: 0 show_unmanaged: true show_filtered: false show_missing: true save_missing: true + run_again_delay: 2 + released_missing_only: false + create_asset_folders: false + missing_only_released: false + collection_minimum: 1 + delete_below_minimum: true + error_webhooks: + run_start_webhooks: + run_end_webhooks: + collection_creation_webhooks: + collection_addition_webhooks: + collection_removing_webhooks: + tvdb_language: eng ``` | Name | Attribute | Allowed Values | Default | Global Level | Library Level | Collection Level | | :--- | :--- | :--- | :---: | :---: | :---: | :---: | | Cache | `cache` | Create a cache database for faster processing. The cache file is created in the same location as your config file.
**boolean:** true or false | true | :heavy_check_mark: | :x: | :x: | | Cache Expiration | `cache_expiration` | Number of days before each cache mapping expires and has to be reloaded | 60 | :heavy_check_mark: | :x: | :x: | -| [Image Asset Directory](#image-asset-directory) | `asset_directory` | System Locations For Image Assets | [Directory containing YAML config]/assets | :heavy_check_mark: | :heavy_check_mark: | :x: | +| [Image Asset Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Image-Asset-Directory) | `asset_directory` | System Locations For Image Assets | [Directory containing YAML config]/assets | :heavy_check_mark: | :heavy_check_mark: | :x: | | Image Asset Folders | `asset_folders` | Search in assets for named folders vs named files
i.e. `assets/Star Wars.png` vs `assets/Star Wars/poster.png` | true | :heavy_check_mark: | :heavy_check_mark: | :x: | -| Image Assets For All* | `assets_for_all` | Search in assets for images for every item in your library | false | :heavy_check_mark: | :heavy_check_mark: | :x: | | Create Asset Folders | `create_asset_folders` | When using `assets_for_all` if this is set to true PMM will create the Movie/Shows Folder for assets to be placed in | false | :heavy_check_mark: | :heavy_check_mark: | :x: | | Sync Mode | `sync_mode` | `append`: Only Add Items to the Collection
`sync`: Add & Remove Items from the Collection | append | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | | Collection Minimum | `collection_minimum` | Minimum items that must be found to add to a collection. | 1 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | @@ -37,174 +47,3 @@ settings: | Save Missing | `save_missing` | Library Level toggle to save movies/shows missing from collections to a file next to you Metadata file
**boolean:** true or false | true | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | \* The file/folder name in your assets directory must match the folder name the media is stored in. i.e. if you have `Movies/Star Wars (1977)/Star Wars (1977) [1080p].mp4` then your asset directory would look at `assets/Star Wars (1977)/poster.png` for the poster - -## Image Asset Directory -The Image Asset Directories can be used to update the posters and backgrounds of collections, movies, shows, seasons, and episodes. - -To use multiple Image Asset Directories you have to use a list. Comma-separated values will not work. By default, the program will look in the same folder as you config.yml for a folder called assets. - -There are two different options when it comes to how the program looks at the files inside you Asset Directories. These can be toggled between by using `asset_folders`. - -| Image Type | Image Path With Folders
`asset_folders: true` | Image Path Without Folder
`asset_folders: false` | -| :--- | :--- | :--- | -| Collection/Movie/Show poster | `assets/ASSET_NAME/poster.ext` | `assets/ASSET_NAME.ext` | -| Collection/Movie/Show background | `assets/ASSET_NAME/background.ext` | `assets/ASSET_NAME_background.ext` | -| Season poster | `assets/ASSET_NAME/Season##.ext` | `assets/ASSET_NAME_Season##.ext` | -| Episode poster | `assets/ASSET_NAME/S##E##.ext` | `assets/ASSET_NAME_S##E##.ext` | - -* For **Collections** replace `ASSET_NAME` with the mapping name used with the collection unless `system_name` is specified, which you would then use what's specified in `system_name`. - -* For **Movies** replace `ASSET_NAME` with the exact name of the folder the video file is stored in. - -* For **Shows**, **Seasons**, and **Episodes** replace `ASSET_NAME` with the exact name of the folder for the show as a whole. - -* For **Seasons** replace `##` with the zero padded season number (00 for specials) - -* For **Episodes** replacing the first `##` with the zero padded season number (00 for specials), the second `##` with the zero padded episode number - -* Replace `.ext` with the image extension - -By default, the program will only look inside the Image Asset Directories for Images when it runs a collection from a Metadata File. When it does this by default it will only look for the collection images, but you can have it look for images of every item in the collection if you add `item_assets: true` to the collection config. - -If you're using `asset_folders` set to true you can also nest movie/show folders inside an Image Assets Collection Folder that contains that movie/show. - -You can set `assets_for_all` to true to have the program, after your run, check the Image Asset Directories for Images of every item in your library. - -Here's an example config folder structure with an assets directory with `asset_folders` set to true and false. - -### `asset_folders: true` without nesting - -``` -config -├── config.yml -├── Movies.yml -├── TV Shows.yml -├── assets -│ ├── The Lord of the Rings -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Fellowship of the Ring (2001) -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Two Towers (2002) -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Return of the King (2003) -│ ├── poster.png -│ ├── background.png -│ ├── Star Wars (Animated) -│ ├── poster.png -│ ├── background.png -│ ├── Star Wars The Clone Wars -│ ├── poster.png -│ ├── background.png -│ ├── Season00.png -│ ├── Season01.png -│ ├── Season02.png -│ ├── Season03.png -│ ├── Season04.png -│ ├── Season05.png -│ ├── Season06.png -│ ├── Season07.png -│ ├── S07E01.png -│ ├── S07E02.png -│ ├── S07E03.png -│ ├── S07E04.png -│ ├── S07E05.png -│ ├── Star Wars Rebels -│ ├── poster.png -│ ├── background.png -│ ├── Season01.png -│ ├── Season02.png -│ ├── Season03.png -│ ├── Season04.png -``` - -### `asset_folders: true` with nesting - -``` -config -├── config.yml -├── Movies.yml -├── TV Shows.yml -├── assets -│ ├── The Lord of the Rings -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Fellowship of the Ring (2001) -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Two Towers (2002) -│ ├── poster.png -│ ├── background.png -│ ├── The Lord of the Rings The Return of the King (2003) -│ ├── poster.png -│ ├── background.png -│ ├── Star Wars (Animated) -│ ├── poster.png -│ ├── background.png -│ ├── Star Wars The Clone Wars -│ ├── poster.png -│ ├── background.png -│ ├── Season00.png -│ ├── Season01.png -│ ├── Season02.png -│ ├── Season03.png -│ ├── Season04.png -│ ├── Season05.png -│ ├── Season06.png -│ ├── Season07.png -│ ├── S07E01.png -│ ├── S07E02.png -│ ├── S07E03.png -│ ├── S07E04.png -│ ├── S07E05.png -│ ├── Star Wars Rebels -│ ├── poster.png -│ ├── background.png -│ ├── Season01.png -│ ├── Season02.png -│ ├── Season03.png -│ ├── Season04.png -``` - -### `asset_folders: false` - -``` -config -├── config.yml -├── Movies.yml -├── TV Shows.yml -├── assets -│ ├── The Lord of the Rings.png -│ ├── The Lord of the Rings_background.png -│ ├── The Lord of the Rings The Fellowship of the Ring (2001).png -│ ├── The Lord of the Rings The Fellowship of the Ring (2001)_background.png -│ ├── The Lord of the Rings The Two Towers (2002).png -│ ├── The Lord of the Rings The Two Towers (2002)_background.png -│ ├── The Lord of the Rings The Return of the King (2003).png -│ ├── The Lord of the Rings The Return of the King (2003)_background.png -│ ├── Star Wars (Animated).png -│ ├── Star Wars (Animated)_background.png -│ ├── Star Wars The Clone Wars.png -│ ├── Star Wars The Clone Wars_background.png -│ ├── Star Wars The Clone Wars_Season00.png -│ ├── Star Wars The Clone Wars_Season01.png -│ ├── Star Wars The Clone Wars_Season02.png -│ ├── Star Wars The Clone Wars_Season03.png -│ ├── Star Wars The Clone Wars_Season04.png -│ ├── Star Wars The Clone Wars_Season05.png -│ ├── Star Wars The Clone Wars_Season06.png -│ ├── Star Wars The Clone Wars_Season07.png -│ ├── Star Wars The Clone Wars_S07E01.png -│ ├── Star Wars The Clone Wars_S07E02.png -│ ├── Star Wars The Clone Wars_S07E03.png -│ ├── Star Wars The Clone Wars_S07E04.png -│ ├── Star Wars The Clone Wars_S07E05.png -│ ├── Star Wars Rebels.png -│ ├── Star Wars Rebels_background.png -│ ├── Star Wars Rebels_Season01.png -│ ├── Star Wars Rebels_Season02.png -│ ├── Star Wars Rebels_Season03.png -│ ├── Star Wars Rebels_Season04.png -``` \ No newline at end of file diff --git a/Sonarr-Attributes.md b/Sonarr-Attributes.md index e17fef9..777f94c 100644 --- a/Sonarr-Attributes.md +++ b/Sonarr-Attributes.md @@ -1,4 +1,4 @@ -Configuring Sonarr is optional but will allow you to send shows to a Sonarr instance when they're found missing while updating a library's collections. +Configuring [Sonarr](https://sonarr.tv/) is optional but will allow you to send shows to a Sonarr instance when they're found missing while updating a library's collections. A `sonarr` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `sonarr` mapping individually per library. diff --git a/TMDb-Attributes.md b/TMDb-Attributes.md index ebcd130..b5c413c 100644 --- a/TMDb-Attributes.md +++ b/TMDb-Attributes.md @@ -1,4 +1,4 @@ -Configuring TheMovieDb.org API is required in order to run the script. +Configuring [TheMovieDb](https://www.themoviedb.org/) is required in order to run the script. A `tmdb` mapping is in the root of the config file. diff --git a/Tautulli-Attributes.md b/Tautulli-Attributes.md index b94632d..17e1948 100644 --- a/Tautulli-Attributes.md +++ b/Tautulli-Attributes.md @@ -1,4 +1,4 @@ -Configuring Tautulli API is optional but can allow you to create Collections based on Tautulli's Watch Statistics. +Configuring [Tautulli](https://tautulli.com/) is optional but can allow you to create Collections based on Tautulli's Watch Statistics. A `tautulli` mapping can be either in the root of the config file as global mapping for all libraries or you can specify the `tautulli` mapping individually per library. diff --git a/Trakt-Attributes.md b/Trakt-Attributes.md index b15a71a..a5b4d8a 100644 --- a/Trakt-Attributes.md +++ b/Trakt-Attributes.md @@ -1,4 +1,4 @@ -Configuring Trakt.tv API is optional but is required for Trakt based collections to function. +Configuring [Trakt.tv](https://trakt.tv/) is optional but is required for Trakt based collections to function. A `trakt` mapping is in the root of the config file. diff --git a/Trakt-Builders.md b/Trakt-Builders.md index 956ecdf..69a07a6 100644 --- a/Trakt-Builders.md +++ b/Trakt-Builders.md @@ -10,9 +10,21 @@ You can build different collections using the features of [Trakt.tv](https://tra | [Trakt User Collection](#trakt-user-collection) | `trakt_collection` | Gets every movie/show in a Users Collection | :heavy_check_mark: | :heavy_check_mark: | | [Trakt Trending](#trakt-trending) | `trakt_trending` | Gets the movies/shows in Trakt's Trending [Movies](https://trakt.tv/movies/trending)/[Shows](https://trakt.tv/shows/trending) list | :heavy_check_mark: | :heavy_check_mark: | | [Trakt Popular](#trakt-popular) | `trakt_popular` | Gets the movies/shows in Trakt's Popular [Movies](https://trakt.tv/movies/popular)/[Shows](https://trakt.tv/shows/popular) list | :heavy_check_mark: | :heavy_check_mark: | -| [Trakt Recommended](#trakt-recommended) | `trakt_recommended` | Gets the movies/shows in Trakt's Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list | :heavy_check_mark: | :heavy_check_mark: | -| [Trakt Watched](#trakt-watched) | `trakt_watched` | Gets the movies/shows in Trakt's Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list | :heavy_check_mark: | :heavy_check_mark: | -| [Trakt Collected](#trakt-collected) | `trakt_collected` | Gets the movies/shows in Trakt's Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Recommended Daily](#trakt-recommended) | `trakt_recommended_daily` | Gets the movies/shows in Trakt's Daily Recommended [Movies](https://trakt.tv/movies/recommended/daily)/[Shows](https://trakt.tv/shows/recommended/daily) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Recommended Weekly](#trakt-recommended) | `trakt_recommended_weekly` | Gets the movies/shows in Trakt's Weekly Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Recommended Monthly](#trakt-recommended) | `trakt_recommended_monthly` | Gets the movies/shows in Trakt's Monthly Recommended [Movies](https://trakt.tv/movies/recommended/monthly)/[Shows](https://trakt.tv/shows/recommended/monthly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Recommended Yearly](#trakt-recommended) | `trakt_recommended_yearly` | Gets the movies/shows in Trakt's Yearly Recommended [Movies](https://trakt.tv/movies/recommended/yearly)/[Shows](https://trakt.tv/shows/recommended/yearly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Recommended All-Time](#trakt-recommended) | `trakt_recommended_all` | Gets the movies/shows in Trakt's All-Time Recommended [Movies](https://trakt.tv/movies/recommended/all)/[Shows](https://trakt.tv/shows/recommended/all) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Watched Daily](#trakt-watched) | `trakt_watched_daily` | Gets the movies/shows in Trakt's Daily Watched [Movies](https://trakt.tv/movies/watched/daily)/[Shows](https://trakt.tv/shows/watched/daily) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Watched Weekly](#trakt-watched) | `trakt_watched_weekly` | Gets the movies/shows in Trakt's Weekly Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Watched Monthly](#trakt-watched) | `trakt_watched_monthly` | Gets the movies/shows in Trakt's Monthly Watched [Movies](https://trakt.tv/movies/watched/monthly)/[Shows](https://trakt.tv/shows/watched/monthly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Watched Yearly](#trakt-watched) | `trakt_watched_yearly` | Gets the movies/shows in Trakt's Yearly Watched [Movies](https://trakt.tv/movies/watched/yearly)/[Shows](https://trakt.tv/shows/watched/yearly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Watched All-Time](#trakt-watched) | `trakt_watched_all` | Gets the movies/shows in Trakt's All-Time Watched [Movies](https://trakt.tv/movies/watched/all)/[Shows](https://trakt.tv/shows/watched/all) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Collected Daily](#trakt-collected) | `trakt_collected_daily` | Gets the movies/shows in Trakt's Daily Collected [Movies](https://trakt.tv/movies/collected/daily)/[Shows](https://trakt.tv/shows/collected/daily) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Collected Weekly](#trakt-collected) | `trakt_collected_weekly` | Gets the movies/shows in Trakt's Weekly Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Collected Monthly](#trakt-collected) | `trakt_collected_monthly` | Gets the movies/shows in Trakt's Monthly Collected [Movies](https://trakt.tv/movies/collected/monthly)/[Shows](https://trakt.tv/shows/collected/monthly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Collected Yearly](#trakt-collected) | `trakt_collected_yearly` | Gets the movies/shows in Trakt's Yearly Collected [Movies](https://trakt.tv/movies/collected/yearly)/[Shows](https://trakt.tv/shows/collected/yearly) list | :heavy_check_mark: | :heavy_check_mark: | +| [Trakt Collected All-Time](#trakt-collected) | `trakt_collected_all` | Gets the movies/shows in Trakt's All-Time Collected [Movies](https://trakt.tv/movies/collected/all)/[Shows](https://trakt.tv/shows/collected/all) list | :heavy_check_mark: | :heavy_check_mark: | ## Trakt List Gets every movie/show in the Trakt List. @@ -102,7 +114,15 @@ collections: ``` ## Trakt Recommended -Gets the movies/shows in Trakt's Recommended [Movies](https://trakt.tv/movies/recommended/weekly)/[Shows](https://trakt.tv/shows/recommended/weekly) list. +Gets the movies/shows in Trakt's Recommended lists. + +| Builder | Period | Movie List | Show List | +| :--- | :---: | :---: | :---: | +| `trakt_recommended_daily` | Daily | [Daily Movies](https://trakt.tv/movies/recommended/daily) | [Daily Shows](https://trakt.tv/shows/recommended/daily) | +| `trakt_recommended_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/recommended/weekly) | [Weekly Shows](https://trakt.tv/shows/recommended/weekly) | +| `trakt_recommended_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/recommended/monthly) | [Monthly Shows](https://trakt.tv/shows/recommended/monthly) | +| `trakt_recommended_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/recommended/yearly) | [Yearly Shows](https://trakt.tv/shows/recommended/yearly) | +| `trakt_recommended_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/recommended/all) | [All-Time Shows](https://trakt.tv/shows/recommended/all) | The expected input is a single integer value of how many movies/shows to query. @@ -111,12 +131,20 @@ The `sync_mode: sync` option is also recommended since the Trakt Recommended lis ```yaml collections: Trakt Recommended: - trakt_recommended: 30 + trakt_recommended_weekly: 30 sync_mode: sync ``` ## Trakt Watched -Gets the movies/shows in Trakt's Watched [Movies](https://trakt.tv/movies/watched/weekly)/[Shows](https://trakt.tv/shows/watched/weekly) list. +Gets the movies/shows in Trakt's Watched lists. + +| Builder | Period | Movie List | Show List | +| :--- | :---: | :---: | :---: | +| `trakt_watched_daily` | Daily | [Daily Movies](https://trakt.tv/movies/watched/daily) | [Daily Shows](https://trakt.tv/shows/watched/daily) | +| `trakt_watched_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/watched/weekly) | [Weekly Shows](https://trakt.tv/shows/watched/weekly) | +| `trakt_watched_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/watched/monthly) | [Monthly Shows](https://trakt.tv/shows/watched/monthly) | +| `trakt_watched_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/watched/yearly) | [Yearly Shows](https://trakt.tv/shows/watched/yearly) | +| `trakt_watched_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/watched/all) | [All-Time Shows](https://trakt.tv/shows/watched/all) | The expected input is a single integer value of how many movies/shows to query. @@ -125,13 +153,21 @@ The `sync_mode: sync` option is also recommended since the Trakt Watched lists a ```yaml collections: Trakt Watched: - trakt_watched: 30 + trakt_watched_weekly: 30 sync_mode: sync ``` ## Trakt Collected Gets the movies/shows in Trakt's Collected [Movies](https://trakt.tv/movies/collected/weekly)/[Shows](https://trakt.tv/shows/collected/weekly) list. +| Builder | Period | Movie List | Show List | +| :--- | :---: | :---: | :---: | +| `trakt_collected_daily` | Daily | [Daily Movies](https://trakt.tv/movies/collected/daily) | [Daily Shows](https://trakt.tv/shows/collected/daily) | +| `trakt_collected_weekly` | Weekly | [Weekly Movies](https://trakt.tv/movies/collected/weekly) | [Weekly Shows](https://trakt.tv/shows/collected/weekly) | +| `trakt_collected_monthly` | Monthly | [Monthly Movies](https://trakt.tv/movies/collected/monthly) | [Monthly Shows](https://trakt.tv/shows/collected/monthly) | +| `trakt_collected_yearly` | Yearly | [Yearly Movies](https://trakt.tv/movies/collected/yearly) | [Yearly Shows](https://trakt.tv/shows/collected/yearly) | +| `trakt_collected_all` | All-Time | [All-Time Movies](https://trakt.tv/movies/collected/all) | [All-Time Shows](https://trakt.tv/shows/collected/all) | + The expected input is a single integer value of how many movies/shows to query. The `sync_mode: sync` option is also recommended since the Trakt Collected lists are continuously updated. @@ -139,6 +175,6 @@ The `sync_mode: sync` option is also recommended since the Trakt Collected lists ```yaml collections: Trakt Collected: - trakt_collected: 30 + trakt_collected_weekly: 30 sync_mode: sync ``` diff --git a/Webhooks-Attributes.md b/Webhooks-Attributes.md new file mode 100644 index 0000000..9782423 --- /dev/null +++ b/Webhooks-Attributes.md @@ -0,0 +1,133 @@ +Configuring Webhooks is optional but can allow you to receive notifications when certain events happen. + +A `webhooks` mapping is in the root of the config file. + +Below is a `webhooks` mapping example and the full set of attributes: + +```yaml +webhooks: + error: https://www.myspecialdomain.com/pmm + run_start: + run_end: + collection_creation: + collection_addition: + collection_removal: +``` + +| Name | Attribute | Description | Global | Library | Collection | +| :--- | :--- | :--- | :---: | :---: | :---: | +| [Error](#error-notifications) | `error` | | :heavy_check_mark: | :heavy_check_mark: | :x: | +| [Run Start](#run-start-notifications) | `run_start` | | :heavy_check_mark: | :x: | :x: | +| [Run End](#run-end-notifications) | `run_end` | | :heavy_check_mark: | :x: | :x: | +| [Collection Creation](#collection-notifications) | `collection_creation` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| [Collection Addition](#collection-notifications) | `collection_addition` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | +| [Collection Removal](#collection-notifications) | `collection_removal` | | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | + +* Each Attribute can be either a webhook url as a string or a comma-separated list of webhooks urls. +* To send notifications to [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) just add `notifiarr` to a webhook instead of the webhook url. + +## Error Notifications + +The Error notification will be sent whenever an error occurs. The payload that is sent is different Depending on which level the error occurs. + +#### JSON Payload + + + + + + + + + + + + +
GlobalLibraryCollection
+ +```yaml +{ + "error": str, // Error Message + "critical": bool // Critical Error +} +``` + + + +```yaml +{ + "error": str, // Error Message + "critical": bool, // Critical Error + "server_name": str, // Server Name + "library_name": str // Library Name +} +``` + + + +```yaml +{ + "error": str, // Error Message + "critical": bool, // Critical Error + "server_name": str, // Server Name + "library_name": str, // Library Name + "collection": str // Collection Name +} +``` + +
+ +## Run Start Notifications + +The Run Start notification will be sent at the beginning of every run. + +#### JSON Payload + +```yaml +{ + "start_time": str, // Time Run is started Format "HH:MM" +} +``` + +## Run End Notifications + +The Run End notification will be sent at the end of every run with statistics. + +#### JSON Payload + +```yaml +{ + "start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ" + "run_time": str, // Time Run took to complete Format "HH:MM" + "collections_created": int, // Number of Collections Created + "collections_modified": int, // Number of Collections Modified + "collections_deleted": int, // Number of Collections Removed + "items_added": int, // Number of Items added across all Collections + "items_removed": int, // Number of Items removed across all Collections + "added_to_radarr": int, // Number of Items added to Radarr + "added_to_sonarr": int // Number of Items added to Sonarr +} +``` + +## Collection Notifications + +The Collection Notification will be sent after each collection, containing the following payload. + +#### JSON Payload + +```yaml +{ + "start_time": str, // Time Run is started Format "YY-mm-ddTHH:MM:SSZ" + "library_name": str, // Library Name + "type": str, // Will be either "movie" or "show" + "collection": str, // Collection Name + "created": bool, // Was the Collection Created on this run + "poster": str, // Base64 Encoded Collection Poster + "background": str, // Base64 Encoded Collection Background + "additions": [int], // List of TMDb IDs (type=movie) or TVDb IDs (type=show) added to the colleciton + "removals": [int] // List of TMDb IDs (type=movie) or TVDb IDs (type=show) removed from the colleciton +} +``` + +* `additions` is only in the payload when `collection_addition` is used. +* `removals` is only in the payload when `collection_removing` is used. diff --git a/_Sidebar.md b/_Sidebar.md index 02e26f0..25a55ec 100644 --- a/_Sidebar.md +++ b/_Sidebar.md @@ -5,15 +5,19 @@ - [unRAID Installation](unRAID-Installation) - [Configuration File](Configuration-File) - [Libraries Attributes](Libraries-Attributes) + - [Operations Attributes](Operations-Attributes) - [Settings Attributes](Settings-Attributes) + - [Image Asset Directory](Image-Asset-Directory) + - [Webhook Attributes](Webhook-Attributes) - [Plex Attributes](Plex-Attributes) - [TMDb Attributes](TMDb-Attributes) - - [Radarr Attributes](Radarr-Attributes) - - [Sonarr Attributes](Sonarr-Attributes) - [Tautulli Attributes](Tautulli-Attributes) - [OMDb Attributes](OMDb-Attributes) - - [Trakt Attributes](Trakt-Attributes) + - [Notifiarr Attributes](Notifiarr-Attributes) - [AniDB Attributes](AniDB-Attributes) + - [Radarr Attributes](Radarr-Attributes) + - [Sonarr Attributes](Sonarr-Attributes) + - [Trakt Attributes](Trakt-Attributes) - [MyAnimeList Attributes](MyAnimeList-Attributes) - [Metadata File](Metadata-File) - [Metadata Attributes](Metadata-Attributes)