v1.15.1 Wiki Update

master
meisnate12 2 years ago
parent 04a6197d96
commit 5a508a7634

@ -11,7 +11,7 @@ anidb:
password: ######
```
| Name | Attribute | Allowed Values | Required |
| :--- | :--- | :--- | :---: |
| Name | Attribute | Allowed Values | Required |
|:---------|:-----------|:---------------|:------------------:|
| Username | `username` | AniDB Username | :heavy_check_mark: |
| Password | `password` | AniDB Password | :heavy_check_mark: |

@ -2,12 +2,12 @@ You can find anime using the features of [AniDB.net](https://anidb.net/) (AniDB)
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [AniDB ID](#anidb-id) | `anidb_id` | Finds the anime specified by the AniDB ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniDB Relation](#anidb-relation) | `anidb_relation` | Finds all anime in the relation graph of the specified AniDB ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniDB Popular](#anidb-popular) | `anidb_popular` | Finds every anime in AniDB's [Popular Anime](https://anidb.net/latest/anime/popular/?h=1) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniDB Tags](#anidb-tags) | `anidb_tags` | Finds every anime in a AniDB Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------|:-----------------|:-----------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [AniDB ID](#anidb-id) | `anidb_id` | Finds the anime specified by the AniDB ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniDB Relation](#anidb-relation) | `anidb_relation` | Finds all anime in the relation graph of the specified AniDB ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniDB Popular](#anidb-popular) | `anidb_popular` | Finds every anime in AniDB's [Popular Anime](https://anidb.net/latest/anime/popular/?h=1) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniDB Tags](#anidb-tags) | `anidb_tags` | Finds every anime in a AniDB Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
## AniDB ID
Finds the anime specified by the AniDB ID.
@ -66,10 +66,10 @@ collections:
## AniDB Tag
Finds anime with the specified AniDB Tag the options are detailed below.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `tag` | AniDB Tag ID to search by | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from AniDB (use 0 for all; max: 500) | :x: | 0 |
| Attribute | Description | Required | Default |
|:----------|:--------------------------------------------------------------|:------------------:|:-------:|
| `tag` | AniDB Tag ID to search by | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from AniDB (use 0 for all; max: 500) | :x: | 0 |
```yaml
collections:

@ -2,15 +2,15 @@ You can find anime using the features of [AniList.co](https://anilist.co/) (AniL
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [AniList Top Rated Anime](#anilist-top-rated-anime) | `anilist_top_rated` | Finds every anime in AniList's [Top Rated Anime](https://anilist.co/search/anime?sort=SCORE_DESC) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Popular Anime](#anilist-popular-anime) | `anilist_popular` | Finds every anime in AniList's [Popular Anime](https://anilist.co/search/anime/popular) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Trending Anime](#anilist-trending-anime) | `anilist_trending` | Finds every anime in AniList's [Trending Anime](https://anilist.co/search/anime/trending) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Relations](#anilist-relations) | `anilist_relations` | Finds the anime specified by the AniList ID and every relation in its relation tree except Character and Other relations | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList Studio](#anilist-studio) | `anilist_studio` | Finds all anime specified by the AniList Studio ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList ID](#anilist-id) | `anilist_id` | Finds the anime specified by the AniList ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList Search](#anilist-search) | `anilist_search` | Finds the anime specified by the AniList search parameters provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------------------------|:--------------------|:-------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [AniList Top Rated Anime](#anilist-top-rated-anime) | `anilist_top_rated` | Finds every anime in AniList's [Top Rated Anime](https://anilist.co/search/anime?sort=SCORE_DESC) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Popular Anime](#anilist-popular-anime) | `anilist_popular` | Finds every anime in AniList's [Popular Anime](https://anilist.co/search/anime/popular) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Trending Anime](#anilist-trending-anime) | `anilist_trending` | Finds every anime in AniList's [Trending Anime](https://anilist.co/search/anime/trending) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [AniList Relations](#anilist-relations) | `anilist_relations` | Finds the anime specified by the AniList ID and every relation in its relation tree except Character and Other relations | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList Studio](#anilist-studio) | `anilist_studio` | Finds all anime specified by the AniList Studio ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList ID](#anilist-id) | `anilist_id` | Finds the anime specified by the AniList ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [AniList Search](#anilist-search) | `anilist_search` | Finds the anime specified by the AniList search parameters provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## AniList Top Rated Anime
Finds every anime in AniList's [Top Rated Anime](https://anilist.co/search/anime?sort=SCORE_DESC) list.
@ -100,17 +100,17 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
## Special Attributes
Special attributes do not support any modifiers.
| Special Attribute | Description | Options | Default |
| :--- | :--- | :---: | :---: |
| `sort_by` | How to sort the Anime | `score` (Sort by Average Score)<br>`popular` (Sort by Popularity)<br>`trending` (Sort by Trending) | `score` |
| `limit` | Number of Anime to query | `int` (use 0 or don't use it at all for all anime) | `0` |
| `search` | Text to search | Any Text | `N/A` |
| `season` | Season to search for | `winter` (For winter season December, January, February)<br>`spring` (For spring season March, April, May)<br>`summer` (For summer season June, July, August)<br>`fall` (For fall season September, October, November)<br>Leave blank for the Current Season |
| `year` | Season year to search for | `int` `1917` - next year or leave blank for the current year |
| `min_tag_percent` | Minimum tag percentage for the Anime | `int` `0`-`100` | `N/A` |
| `adult` | Search for or not for Adult Anime | `true` or `false` | `N/A` |
| `country` | Search for anime from a specific country | [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) | `N/A` |
| `source` | Uses the anime's source to match | `original`, `manga`, `light_novel`, `visual_novel`, `video_game`, `other`, `novel`, `doujinshi`, `anime` | `N/A` |
| Special Attribute | Description | Options | Default |
|:------------------|:-----------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:-------:|
| `sort_by` | How to sort the Anime | `score` (Sort by Average Score)<br>`popular` (Sort by Popularity)<br>`trending` (Sort by Trending) | `score` |
| `limit` | Number of Anime to query | `int` (use 0 or don't use it at all for all anime) | `0` |
| `search` | Text to search | Any Text | `N/A` |
| `season` | Season to search for | `winter` (For winter season December, January, February)<br>`spring` (For spring season March, April, May)<br>`summer` (For summer season June, July, August)<br>`fall` (For fall season September, October, November)<br>Leave blank for the Current Season |
| `year` | Season year to search for | `int` `1917` - next year or leave blank for the current year |
| `min_tag_percent` | Minimum tag percentage for the Anime | `int` `0`-`100` | `N/A` |
| `adult` | Search for or not for Adult Anime | `true` or `false` | `N/A` |
| `country` | Search for anime from a specific country | [ISO 3166-1 alpha-2 country code](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) | `N/A` |
| `source` | Uses the anime's source to match | `original`, `manga`, `light_novel`, `visual_novel`, `video_game`, `other`, `novel`, `doujinshi`, `anime` | `N/A` |
## Tag Attributes
Tag attributes can be used with either no modifier or with `.not`.
@ -119,19 +119,19 @@ String attributes can take multiple values as a **list or a comma-separated stri
### Tag Modifiers
| Tag Modifier | Description |
| :--- | :--- |
| No Modifier | Matches every item where the attribute matches the given string |
| `.not` | Matches every item where the attribute does not match the given string |
| Tag Modifier | Description |
|:-------------|:-----------------------------------------------------------------------|
| No Modifier | Matches every item where the attribute matches the given string |
| `.not` | Matches every item where the attribute does not match the given string |
### Tag Attributes
| Tag Attribute | Description | Options |
| :--- | :--- | :---: |
| `format` | Uses the anime's format to match | `tv`, `short`, `movie`, `special`, `ova`, `ona`, `music` |
| `status` | Uses the anime's status to match | `finished`, `airing`, `not_yet_aired`, `cancelled`, `hiatus` |
| `genre` | Uses the anime's genre to match | Any Genre in the Genre Dropdown box on the [AniList Search Page](https://anilist.co/search/anime) |
| `tag` | Uses the anime's tag to match | Any Tag in the Genre Dropdown box on the [AniList Search Page](https://anilist.co/search/anime) |
| Tag Attribute | Description | Options |
|:---------------|:---------------------------------------|:-----------------------------------------------------------------------------------------------------------------------:|
| `format` | Uses the anime's format to match | `tv`, `short`, `movie`, `special`, `ova`, `ona`, `music` |
| `status` | Uses the anime's status to match | `finished`, `airing`, `not_yet_aired`, `cancelled`, `hiatus` |
| `genre` | Uses the anime's genre to match | Any Genre in the Genre Dropdown box on the [AniList Search Page](https://anilist.co/search/anime) |
| `tag` | Uses the anime's tag to match | Any Tag in the Genre Dropdown box on the [AniList Search Page](https://anilist.co/search/anime) |
| `tag_category` | Uses the anime's tag category to match | Any Tag Category in the Advance Genres & Tag Filters Menu on the [AniList Search Page](https://anilist.co/search/anime) |
## Date Attributes
@ -141,17 +141,17 @@ No date attribute can take multiple values.
### Date Modifiers
| Date Modifier | Description | Format |
| :--- | :--- | :---: |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| Date Modifier | Description | Format |
|:--------------|:------------------------------------------------------------------------|:-------------------------------------------:|
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
### Date Attributes
| Date Attributes | Description |
| :--- | :--- |
| `start` | Uses the anime start date attribute to match |
| `end` | Uses the anime end date attribute to match |
| Date Attributes | Description |
|:----------------|:---------------------------------------------|
| `start` | Uses the anime start date attribute to match |
| `end` | Uses the anime end date attribute to match |
## Number Searches
Number attributes must use `.gt`, `.gte`, `.lt`, or `.lte` as a modifier.
@ -160,21 +160,21 @@ No number attribute can take multiple values.
### Number Modifiers
| Number Modifier | Description | Format |
| :--- | :--- | :---: |
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| Number Modifier | Description | Format |
|:----------------|:----------------------------------------------------------------------------------------------|:-------------------------------------------------:|
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
### Number Attributes
| Number Attribute | Description | Restrictions |
| :--- | :--- | :---: |
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` |
| `episodes` | Uses the number of episodes attribute to match | minimum: `1` |
| `score` | Uses the score attribute to match | minimum: `1` |
| `popularity` | Uses the popularity attribute to match | minimum: `1` |
| Number Attribute | Description | Restrictions |
|:-----------------|:---------------------------------------------------|:------------:|
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` |
| `episodes` | Uses the number of episodes attribute to match | minimum: `1` |
| `score` | Uses the score attribute to match | minimum: `1` |
| `popularity` | Uses the popularity attribute to match | minimum: `1` |
## AniList Search Examples

@ -1,39 +1,39 @@
## Radarr Details
All the following attributes can override the global/library [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) attributes which are the default unless otherwise specified.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| [Radarr Add Missing](#arr-add-missing) | `radarr_add_missing` | Override Radarr `add` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Add Existing](#arr-add-existing) | `radarr_add_existing` | Override Radarr `add_existing` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Root Folder](#radarr-add-details) | `radarr_folder` | Override Radarr `root_folder_path` attribute | Folder Path | :heavy_check_mark: |
| [Radarr Monitor](#radarr-add-details) | `radarr_monitor` | Override Radarr `monitor` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Availabilit](#radarr-add-details)y | `radarr_availability` | Override Radarr `availability` attribute | `announced`, `cinemas`, `released`, `db` | :heavy_check_mark: |
| [Radarr Quality Profile](#radarr-add-details) | `radarr_quality` | Override Radarr `quality_profile` attribute | Radarr Quality Profile | :heavy_check_mark: |
| [Radarr Tag](#radarr-add-details) | `radarr_tag` | Override Radarr `tag` attribute | List or comma-separated string of tags | :heavy_check_mark: |
| [Radarr Search](#radarr-add-details) | `radarr_search` | Override Radarr `search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Item Radarr Tag](#arr-edit-details) | `item_radarr_tag` | Used to append a tag in Radarr for every movie found by the builders that's in Radarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Radarr Tag Remove](#arr-edit-details) | `item_radarr_tag.remove` | Used to remove existing tags in Radarr for every movie found by the builders that's in Radarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Radarr Tag Sync](#arr-edit-details) | `item_radarr_tag.sync` | Matches the tags in Radarr for every movie found by the builders that's in Radarr with the provided tags | List or comma-separated string of tags | :heavy_check_mark: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:----------------------------------------------|:-------------------------|:---------------------------------------------------------------------------------------------------------|:-----------------------------------------|:--------------------:|
| [Radarr Add Missing](#arr-add-missing) | `radarr_add_missing` | Override Radarr `add` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Add Existing](#arr-add-existing) | `radarr_add_existing` | Override Radarr `add_existing` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Root Folder](#radarr-add-details) | `radarr_folder` | Override Radarr `root_folder_path` attribute | Folder Path | :heavy_check_mark: |
| [Radarr Monitor](#radarr-add-details) | `radarr_monitor` | Override Radarr `monitor` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Radarr Availabilit](#radarr-add-details)y | `radarr_availability` | Override Radarr `availability` attribute | `announced`, `cinemas`, `released`, `db` | :heavy_check_mark: |
| [Radarr Quality Profile](#radarr-add-details) | `radarr_quality` | Override Radarr `quality_profile` attribute | Radarr Quality Profile | :heavy_check_mark: |
| [Radarr Tag](#radarr-add-details) | `radarr_tag` | Override Radarr `tag` attribute | List or comma-separated string of tags | :heavy_check_mark: |
| [Radarr Search](#radarr-add-details) | `radarr_search` | Override Radarr `search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Item Radarr Tag](#arr-edit-details) | `item_radarr_tag` | Used to append a tag in Radarr for every movie found by the builders that's in Radarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Radarr Tag Remove](#arr-edit-details) | `item_radarr_tag.remove` | Used to remove existing tags in Radarr for every movie found by the builders that's in Radarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Radarr Tag Sync](#arr-edit-details) | `item_radarr_tag.sync` | Matches the tags in Radarr for every movie found by the builders that's in Radarr with the provided tags | List or comma-separated string of tags | :heavy_check_mark: |
## Sonarr Details
All the following attributes can override the global/library [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) attributes which are the default unless otherwise specified.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| [Sonarr Add](#arr-add-missing) | `sonarr_add_missing` | Override Sonarr `add` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Add Existing](#arr-add-existing) | `sonarr_add_existing` | Override Sonarr `add_existing` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Root Folder](#radarr-add-details) | `sonarr_folder` | Override Sonarr `root_folder_path` attribute | Folder Path | :heavy_check_mark: |
| [Sonarr Monitor](#radarr-add-details) | `sonarr_monitor` | Override Sonarr `monitor` attribute | `all`, `future`, `missing`, `existing`, `pilot`, `first`, `latest`, `none` | :heavy_check_mark: |
| [Sonarr Quality Profile](#radarr-add-details) | `sonarr_quality` | Override Sonarr `quality_profile` attribute | Sonarr Quality Profile | :heavy_check_mark: |
| [Sonarr Language Profile](#radarr-add-details) | `sonarr_language` | Override Sonarr `language_profile` attribute | Sonarr Language Profile | :heavy_check_mark: |
| [Sonarr Series Type](#radarr-add-details) | `sonarr_series` | Override Sonarr `series_type` attribute | `standard`, `daily`, `anime` | :heavy_check_mark: |
| [Sonarr Season Folder](#radarr-add-details) | `sonarr_season` | Override Sonarr `season_folder` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Tag](#radarr-add-details) | `sonarr_tag` | Override Sonarr `tag` attribute | List or comma-separated string of tags | :heavy_check_mark: |
| [Sonarr Search](#radarr-add-details) | `sonarr_search` | Override Sonarr `search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Cutoff Search](#radarr-add-details) | `sonarr_cutoff_search` | Override Sonarr `cutoff_search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Item Sonarr Tag](#arr-edit-details) | `item_sonarr_tag` | Used to append a tag in Sonarr for every series found by the builders that's in Sonarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Sonarr Tag Remove](#arr-edit-details) | `item_sonarr_tag.remove` | Used to remove existing tags in Sonarr for every series found by the builders that's in Sonarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Sonarr Tag Sync](#arr-edit-details) | `item_sonarr_tag.sync` | Matches the tags in Sonarr for every series found by the builders that's in Sonarr with the provided tags | List or comma-separated string of tags | :heavy_check_mark: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:-----------------------------------------------|:-------------------------|:----------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------|:--------------------:|
| [Sonarr Add](#arr-add-missing) | `sonarr_add_missing` | Override Sonarr `add` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Add Existing](#arr-add-existing) | `sonarr_add_existing` | Override Sonarr `add_existing` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Root Folder](#radarr-add-details) | `sonarr_folder` | Override Sonarr `root_folder_path` attribute | Folder Path | :heavy_check_mark: |
| [Sonarr Monitor](#radarr-add-details) | `sonarr_monitor` | Override Sonarr `monitor` attribute | `all`, `future`, `missing`, `existing`, `pilot`, `first`, `latest`, `none` | :heavy_check_mark: |
| [Sonarr Quality Profile](#radarr-add-details) | `sonarr_quality` | Override Sonarr `quality_profile` attribute | Sonarr Quality Profile | :heavy_check_mark: |
| [Sonarr Language Profile](#radarr-add-details) | `sonarr_language` | Override Sonarr `language_profile` attribute | Sonarr Language Profile | :heavy_check_mark: |
| [Sonarr Series Type](#radarr-add-details) | `sonarr_series` | Override Sonarr `series_type` attribute | `standard`, `daily`, `anime` | :heavy_check_mark: |
| [Sonarr Season Folder](#radarr-add-details) | `sonarr_season` | Override Sonarr `season_folder` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Tag](#radarr-add-details) | `sonarr_tag` | Override Sonarr `tag` attribute | List or comma-separated string of tags | :heavy_check_mark: |
| [Sonarr Search](#radarr-add-details) | `sonarr_search` | Override Sonarr `search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Sonarr Cutoff Search](#radarr-add-details) | `sonarr_cutoff_search` | Override Sonarr `cutoff_search` attribute | **boolean:** `true` or `false` | :heavy_check_mark: |
| [Item Sonarr Tag](#arr-edit-details) | `item_sonarr_tag` | Used to append a tag in Sonarr for every series found by the builders that's in Sonarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Sonarr Tag Remove](#arr-edit-details) | `item_sonarr_tag.remove` | Used to remove existing tags in Sonarr for every series found by the builders that's in Sonarr | List or comma-separated string of tags | :heavy_check_mark: |
| [Item Sonarr Tag Sync](#arr-edit-details) | `item_sonarr_tag.sync` | Matches the tags in Sonarr for every series found by the builders that's in Sonarr with the provided tags | List or comma-separated string of tags | :heavy_check_mark: |
### Arr Add Missing
When `radarr_add_missing`/`sonarr_add_missing` are true the items missing from the collection/playlist will be added to Radarr/Sonarr.

@ -1,107 +0,0 @@
You can have the script edit the metadata of Artists, Albums, and Tracks by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a music library is below:
```yaml
metadata:
"Linkin Park":
country: "United States of America"
album_sorting: newest
albums:
"Hybrid Theory":
originally_available: "2000-10-24"
tracks:
1:
rating: 5
"One Step Closer":
rating: 5
"Meteora":
originally_available: "2003-03-25"
album_sorting: newest
tracks:
9:
rating: 5
"Numb":
rating: 5
"Minutes To Midnight":
originally_available: "2007-05-14"
```
## Artist
Each artist is defined by the mapping name which must be the same as the artist name in the library unless an `alt_title` is specified.
### Albums
To edit the metadata of a particular Album for an Artist use the `albums` attribute on its artist.
The mapping name is the album name.
### Tracks
To edit the metadata of a particular Track on an Album use the `tracks` attribute on its album.
The mapping name is the track number in that Album or the title of the Track.
## Metadata Edits
The available attributes for editing artists, albums, and tracks are as follows
### Special Attributes
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
| :--- | :--- | :--- | :---: |:---:| :---: |
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Albums | `albums` | Mapping to define Albums | :heavy_check_mark: | :x: | :x: |
| Tracks | `tracks` | Mapping to define Tracks | :x: | :heavy_check_mark: | :x: |
* If you know of another Title your item might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example the Artist `Kesha` used to be stylized as `Ke$ha`, and might still be found that way in Metadata results.
```yaml
metadata:
"Kesha":
alt_title: "Ke$ha"
```
This would change the name of the default `Ke$ha` to `Kesha` and would not mess up any subsequent runs.
``
### General Attributes
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
| :--- | :--- | :--- | :---: | :---: | :---: |
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Rating | `rating` | Number to change Rating | :x:| :heavy_check_mark: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :x: | :heavy_check_mark: | :x: |
| Record Label | `record_label` | Text to change Record Label | :x: | :heavy_check_mark: | :x: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Track | `track` | Text to change Track | :x: | :x: | :heavy_check_mark: |
| Disc | `disc` | Text to change Disc | :x: | :x: | :heavy_check_mark: |
| Original Artist | `original_artist` | Text to change Original Artist | :x: | :x: | :heavy_check_mark: |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
| :--- | :--- | :--- | :---: | :---: | :---: |
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Collection | `collection` | List or comma-separated text of each Collection Tag | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Label | `label` | List or comma-separated text of each Label Tag | :x: | :heavy_check_mark: | :x: |
| Style | `style` | List or comma-separated text of each Style Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Mood | `mood` | List or comma-separated text of each Mood Tag | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Country | `country` | List or comma-separated text of each Country Tag | :heavy_check_mark: | :x: | :x: |
| Similar Artist | `similar_artist` | List or comma-separated text of each Similar Artist Tag | :heavy_check_mark: | :x: | :x: |
## Image Attributes
| Name | Attribute | Description | Allowed Values | Artists | Album | Tracks |
| :--- | :--- | :--- | :--- | :---: | :---: | :---: |
| URL Poster | `url_poster` | Used to change the item's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Poster | `file_poster` | Used to change the item's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
| URL Background | `url_background` | Use to change the item's background to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Background | `file_background` | Used to change the item's background to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
### Advance Attributes
All these attributes only work with Artists.
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Album Sorting | `album_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first<br>`name`: Alphabetical |

@ -6,21 +6,21 @@ A template Configuration File can be found in the repo [config/config.yml.templa
The YAML mappings that can be set in the configuration file's root:
| Name | YAML Attribute | Required |
| :--- | :--- | :---: |
| [Libraries](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Libraries-Attributes) | `libraries` | :heavy_check_mark: |
| [Playlist Files](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Playlist-Files-Attributes) | `playlist_files` | :x: |
| [Settings](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | `settings` | :x: |
| [Webhooks](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Webhooks-Attributes) | `webhooks` | :x: |
| [Plex](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Attributes) | `plex` | :x: |
| [TMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/TMDb-Attributes) | `tmdb` | :heavy_check_mark: |
| [Tautulli](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Tautulli-Attributes) | `tautulli` | :x: |
| [OMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/OMDb-Attributes) | `omdb` | :x: |
| [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) | `notifiarr` | :x: |
| [AniDB](https://github.com/meisnate12/Plex-Meta-Manager/wiki/AniDB-Attributes) | `anidb` | :x: |
| [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) | `radarr` | :x: |
| [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) | `sonarr` | :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: |
| Name | YAML Attribute | Required |
|:-------------------------------------------------------------------------------------------------|:-----------------|:------------------:|
| [Libraries](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Libraries-Attributes) | `libraries` | :heavy_check_mark: |
| [Playlist Files](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Playlist-Files-Attributes) | `playlist_files` | :x: |
| [Settings](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | `settings` | :x: |
| [Webhooks](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Webhooks-Attributes) | `webhooks` | :x: |
| [Plex](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Attributes) | `plex` | :x: |
| [TMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/TMDb-Attributes) | `tmdb` | :heavy_check_mark: |
| [Tautulli](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Tautulli-Attributes) | `tautulli` | :x: |
| [OMDb](https://github.com/meisnate12/Plex-Meta-Manager/wiki/OMDb-Attributes) | `omdb` | :x: |
| [Notifiarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Notifiarr-Attributes) | `notifiarr` | :x: |
| [AniDB](https://github.com/meisnate12/Plex-Meta-Manager/wiki/AniDB-Attributes) | `anidb` | :x: |
| [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) | `radarr` | :x: |
| [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) | `sonarr` | :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: |
* 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)

@ -1,41 +0,0 @@
### Episodes Attributes
To edit the metadata of a particular Episode in a show use the `episodes` attribute.
The mapping name uses the format S##E## to determine what episode to edit (use 0 for specials).
A simple example is below:
```yaml
metadata:
"Avatar: The Last Airbender":
episodes:
S01E01:
rating: 9.1
S03E21:
summary: The Epic Series Final of Avatar The Last Airbender
```
The available attributes for each episode are as follows
### General Attributes
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Title | `title` | Text to change Title |
| Sort Title | `sort_title` | Text to change Sort Title |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD |
| Rating | `rating` | Number to change Rating |
| 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 |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `writer.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `writer.sync`.
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Writer | `writer` | List or comma-separated text of each Writer Tag |
| Director | `director` | List or comma-separated text of each Director Tag |

@ -15,70 +15,71 @@ String filters can take multiple values **only as a list**.
### Modifier
| String Modifier | Description |
| :--- | :--- |
| No Modifier | Matches every item where the attribute contains the given string |
| `.not` | Matches every item where the attribute does not contain the given string |
| `.is` | Matches every item where the attribute exactly matches the given string |
| `.isnot` | Matches every item where the attribute does not exactly match the given string |
| `.begins` | Matches every item where the attribute begins with the given string |
| `.ends` | Matches every item where the attribute ends with the given string |
| `.regex` | Matches every item where the attribute matches the regex given |
| String Modifier | Description |
|:----------------|:-------------------------------------------------------------------------------|
| No Modifier | Matches every item where the attribute contains the given string |
| `.not` | Matches every item where the attribute does not contain the given string |
| `.is` | Matches every item where the attribute exactly matches the given string |
| `.isnot` | Matches every item where the attribute does not exactly match the given string |
| `.begins` | Matches every item where the attribute begins with the given string |
| `.ends` | Matches every item where the attribute ends with the given string |
| `.regex` | Matches every item where the attribute matches the regex given |
### Attribute
| String Filter | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `summary` | Uses the summary attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `record_label` | Uses the record label attribute to match | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `filepath` | Uses the item's filepath to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| `audio_track_title` | Uses the audio track titles to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| String Filter | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:--------------------|:-----------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `summary` | Uses the summary attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `record_label` | Uses the record label attribute to match | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `filepath` | Uses the item's filepath to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: |
| `audio_track_title` | Uses the audio track titles to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
## Tag Filters
Tag filters can be used with either no modifier or with `.not`.
Tag filters can take multiple values as a **list or a comma-separated string**.
The `original_language` filter will also filter out movies from being added to Radarr.
The `original_language` and `tmdb_genre` filters will also filter out movies/shows from being added to Radarr/Sonarr.
### Modifier
| Tag Modifier | Description |
| :--- | :--- |
| No Modifier | Matches every item where the attribute matches the given string |
| `.not` | Matches every item where the attribute does not match the given string |
| Tag Modifier | Description |
|:-------------|:-----------------------------------------------------------------------|
| No Modifier | Matches every item where the attribute matches the given string |
| `.not` | Matches every item where the attribute does not match the given string |
### Attribute
| Tag Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `network` | Uses the network tags to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `original_language` | Uses TMDb original language [ISO 639-1 codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) to match<br>Example: `original_language: en, ko` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `resolution` | Uses the resolution tag to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| Tag Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:--------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `network` | Uses the network tags to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `tmdb_genre` | Uses the genre from TMDb to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `original_language` | Uses TMDb original language [ISO 639-1 codes](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) to match<br>Example: `original_language: en, ko` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `resolution` | Uses the resolution tag to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
## Boolean Filters
Boolean Filters have no modifiers.
### Attribute
| Boolean Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Boolean Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:-----------------|:----------------------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `has_collection` | Matches every item that has or does not have a collection | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `has_overlay` | Matches every item that has or does not have an overlay | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `has_overlay` | Matches every item that has or does not have an overlay | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
## Date Filters
Date filters can be used with either no modifier or with `.not`, `.before`, `.after`, or `.regex`.
@ -89,23 +90,23 @@ The `first_episode_aired` and `last_episode_aired` filters will also filter out
### Modifier
| Date Modifier | Description | Format |
| :--- | :--- | :---: |
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.regex` | Matches every item where the attribute matches the regex given | N/A |
| Date Modifier | Description | Format |
|:--------------|:-------------------------------------------------------------------------|:-------------------------------------------:|
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` |
| `.regex` | Matches every item where the attribute matches the regex given | N/A |
### Attribute
| Date Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `first_episode_aired` | Uses the first episode aired date to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `last_episode_aired` | Uses the last episode aired date to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| Date Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:----------------------|:----------------------------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `first_episode_aired` | Uses the first episode aired date to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `last_episode_aired` | Uses the last episode aired date to match | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
## Number Filters
Number filters must use `.gt`, `.gte`, `.lt`, or `.lte` as a modifier.
@ -116,34 +117,34 @@ The `tmdb_vote_count` and `tmdb_year` filters will also filter out movies/shows
### Modifier
| Number Modifier | Description | Format |
| :--- | :--- | :---: |
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| Number Modifier | Description | Format |
|:----------------|:----------------------------------------------------------------------------------------------|:-------------------------------------------------:|
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` |
### Attribute
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `year` | Uses the year attribute to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_year` | Uses the year on TMDb to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `critic_rating` | Uses the critic rating attribute to match<br>`0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match<br> `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating` | Uses the user rating attribute to match<br>`0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_vote_count` | Uses the tmdb vote count to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `plays` | Uses the plays attribute to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `duration` | Uses the duration attribute to match using minutes<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| Number Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:------------------|:---------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `year` | Uses the year attribute to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_year` | Uses the year on TMDb to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `critic_rating` | Uses the critic rating attribute to match<br>`0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match<br> `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating` | Uses the user rating attribute to match<br>`0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_vote_count` | Uses the tmdb vote count to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `plays` | Uses the plays attribute to match<br>minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `duration` | Uses the duration attribute to match using minutes<br>minimum: `0.0` | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
## Special Filters
Special Filters each have their own set of rules for how they're used.
### Attribute
| Special Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `history` | Uses the release date attribute (originally available) to match dates throughout history<br>`day`: Match the Day and Month to Today's Date<br>`month`: Match the Month to Today's Date<br>`1-30`: Match the Day and Month to Today's Date or `1-30` days before Today's Date | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| Special Filters | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Track |
|:----------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:-------:|:------------------:|:-------:|:------------------:|:------:|
| `history` | Uses the release date attribute (originally available) to match dates throughout history<br>`day`: Match the Day and Month to Today's Date<br>`month`: Match the Month to Today's Date<br>`1-30`: Match the Day and Month to Today's Date or `1-30` days before Today's Date | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
## Collection Filter Examples

@ -2,12 +2,12 @@ You can find items using the features of [FlixPatrol.com](https://flixpatrol.com
No configuration is required for this builder.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [FlixPatrol Top](#flixpatrol-top-platform) | `flixpatrol_top` | Finds every item from [FlixPatrol's Top Platform Lists](https://flixpatrol.com/top10/) based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol Popular](#flixpatrol-popular) | `flixpatrol_popular` | Finds every movie/show from FlixPatrol's Popular [Movies](https://flixpatrol.com/popular/movies/)/[Shows](https://flixpatrol.com/popular/tv-shows/) Lists based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol Demographics](#flixpatrol-demographics) | `flixpatrol_demographics` | Finds every item from [FlixPatrol's Demographics Lists](https://flixpatrol.com/demographics/) based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol URL](#flixpatrol-url) | `flixpatrol_url` | Finds every item found at a FlixPatrol URL. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------------------------|:--------------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [FlixPatrol Top](#flixpatrol-top-platform) | `flixpatrol_top` | Finds every item from [FlixPatrol's Top Platform Lists](https://flixpatrol.com/top10/) based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol Popular](#flixpatrol-popular) | `flixpatrol_popular` | Finds every movie/show from FlixPatrol's Popular [Movies](https://flixpatrol.com/popular/movies/)/[Shows](https://flixpatrol.com/popular/tv-shows/) Lists based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol Demographics](#flixpatrol-demographics) | `flixpatrol_demographics` | Finds every item from [FlixPatrol's Demographics Lists](https://flixpatrol.com/demographics/) based on the attributes provided. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [FlixPatrol URL](#flixpatrol-url) | `flixpatrol_url` | Finds every item found at a FlixPatrol URL. | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## FlixPatrol Top Platform
Finds every item from [FlixPatrol's Top Platform Lists](https://flixpatrol.com/top10/) based on the attributes provided.
@ -16,12 +16,12 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
### Top Platform Attributes
| Attribute | Description | Options | Required | Default |
| :--- | :--- | :---: | :---: | :---: |
| `platform` | Streaming Platform to filter on. | `netflix`, `hbo`, `disney`, `amazon`, `itunes`, `google`, `paramount_plus`, `hulu`, `vudu`, `imdb`, `amazon_prime`, `star_plus` | :heavy_check_mark: | :x: |
| `location` | Location to filter on. | `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` | :x: | `world` |
| `time_window` | Time window to filter on. | `today`, `yesterday`,`this_week`, `last_week`, `this_month`, `last_month`, `this_year`, `last_year` | :x: | `today` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
| Attribute | Description | Options | Required | Default |
|:--------------|:---------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------:|:-------:|
| `platform` | Streaming Platform to filter on. | `netflix`, `hbo`, `disney`, `amazon`, `itunes`, `google`, `paramount_plus`, `hulu`, `vudu`, `imdb`, `amazon_prime`, `star_plus` | :heavy_check_mark: | :x: |
| `location` | Location to filter on. | `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` | :x: | `world` |
| `time_window` | Time window to filter on. | `today`, `yesterday`,`this_week`, `last_week`, `this_month`, `last_month`, `this_year`, `last_year` | :x: | `today` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
```yaml
collections:
@ -42,11 +42,11 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
### Popular Attributes
| Attribute | Description | Options | Required | Default |
| :--- | :--- | :---: | :---: | :---: |
| `source` | Source to filter on. | `movie_db`, `facebook`, `google`, `twitter`, `twitter_trends`, `instagram`, `instagram_trends`, `youtube`, `imdb`, `letterboxd`, `rotten_tomatoes`, `tmdb`, `trakt` | :heavy_check_mark: | :x: |
| `time_window` | Time window to filter on. | `today`, `yesterday`,`this_week`, `last_week`, `this_month`, `last_month`, `this_year`, `last_year` | :x: | `today` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
| Attribute | Description | Options | Required | Default |
|:--------------|:---------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------:|:-------:|
| `source` | Source to filter on. | `movie_db`, `facebook`, `google`, `twitter`, `twitter_trends`, `instagram`, `instagram_trends`, `youtube`, `imdb`, `letterboxd`, `rotten_tomatoes`, `tmdb`, `trakt` | :heavy_check_mark: | :x: |
| `time_window` | Time window to filter on. | `today`, `yesterday`,`this_week`, `last_week`, `this_month`, `last_month`, `this_year`, `last_year` | :x: | `today` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
```yaml
collections:
@ -66,12 +66,12 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
### Demographics Attribute
| Attribute | Description | Options | Required | Default |
| :--- | :--- | :---: | :---: | :---: |
| `generation` | Generation to filter on. | `all`, `boomers`, `x`, `y`, `z` | :heavy_check_mark: | :x: |
| `gender` | Gender to filter on. | `all`, `men`, `women` | :x: | `all` |
| `location` | Location to filter on. | `world`, `brazil`, `canada`, `france`, `germany`, `india`, `mexico`, `united_kingdom`, `united_states` | :x: | `world` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
| Attribute | Description | Options | Required | Default |
|:-------------|:---------------------------|:-------------------------------------------------------------------------------------------------------:|:------------------:|:-------:|
| `generation` | Generation to filter on. | `all`, `boomers`, `x`, `y`, `z` | :heavy_check_mark: | :x: |
| `gender` | Gender to filter on. | `all`, `men`, `women` | :x: | `all` |
| `location` | Location to filter on. | `world`, `brazil`, `canada`, `france`, `germany`, `india`, `mexico`, `united_kingdom`, `united_states` | :x: | `world` |
| `limit` | Number of items to return. | Integer greater then 0 | :x: | 10 |
```yaml
collections:

@ -82,9 +82,9 @@ Before posting on GitHub about an enhancement, error, or configuration question
- [MyAnimeList Attributes](MyAnimeList-Attributes)
- [Metadata and Playlist Files](Metadata-and-Playlist-Files)
- Metadata
- [Movies Metadata](Movies-Metadata)
- [Shows Metadata](Shows-Metadata)
- [Artists Metadata](Artists-Metadata)
- [Movie Library Metadata](Movie-Library-Metadata)
- [TV Show Library Metadata](TV-Show-Library-Metadata)
- [Music Library Metadata](Music-Library-Metadata)
- [Templates](Templates)
- [Filters](Filters)
- Builders
@ -95,6 +95,7 @@ Before posting on GitHub about an enhancement, error, or configuration question
- [IMDb Builders](IMDb-Builders)
- [Trakt Builders](Trakt-Builders)
- [Tautulli Builders](Tautulli-Builders)
- [MdbList Builders](MdbList-Builders)
- [Letterboxd Builders](Letterboxd-Builders)
- [ICheckMovies Builders](ICheckMovies-Builders)
- [FlixPatrol Builders](FlixPatrol-Builders)

@ -2,10 +2,10 @@ You can find items using the lists on [icheckmovies.com](https://www.icheckmovie
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [ICheckMovies List](#icheckmovies-list) | `icheckmovies_list` | Finds every movie in the ICheckMovies List | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [ICheckMovies List Details](#icheckmovies-list) | `icheckmovies_list_details` | Finds every movie in the ICheckMovies List and updates the collection with the description of the ICheckMovies list | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:------------------------------------------------|:----------------------------|:--------------------------------------------------------------------------------------------------------------------|:------------------:|:----------------:|:------------------------------------:|
| [ICheckMovies List](#icheckmovies-list) | `icheckmovies_list` | Finds every movie in the ICheckMovies List | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [ICheckMovies List Details](#icheckmovies-list) | `icheckmovies_list_details` | Finds every movie in the ICheckMovies List and updates the collection with the description of the ICheckMovies list | :heavy_check_mark: | :x: | :heavy_check_mark: |
## ICheckMovies List
Finds every movie in the ICheckMovies List.

@ -1,10 +1,10 @@
You can find items using the features of [IMDb.com](https://www.imdb.com/) (IMDb).
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [IMDb ID](#imdb-id) | `imdb_id` | Gets the movie/show specified. | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [IMDb Chart](#imdb-chart) | `imdb_chart` | Gets every movie/show in an IMDb Chart like [IMDb Top 250 Movies](https://www.imdb.com/chart/top). | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [IMDb List](#imdb-list) | `imdb_list` | Gets every movie/show in an IMDb List, [IMDb Keyword Search](https://www.imdb.com/search/keyword/), or [IMDb Search](https://www.imdb.com/search/title/). | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:--------------------------|:-------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [IMDb ID](#imdb-id) | `imdb_id` | Gets the movie/show specified. | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [IMDb Chart](#imdb-chart) | `imdb_chart` | Gets every movie/show in an IMDb Chart like [IMDb Top 250 Movies](https://www.imdb.com/chart/top). | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [IMDb List](#imdb-list) | `imdb_list` | Gets every movie/show in an IMDb List, [IMDb Keyword Search](https://www.imdb.com/search/keyword/), or [IMDb Search](https://www.imdb.com/search/title/). | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## IMDb ID
Gets the movie/show specified.
@ -24,16 +24,16 @@ The expected input are the options below. Multiple values are supported as eithe
The `sync_mode: sync` and `collection_order: custom` Details are recommended since the lists are continuously updated and in a specific order.
| Name | Attribute | Works with Movies | Works with Shows |
| :--- | :--- | :---: | :---: |
| [Box Office](https://www.imdb.com/chart/boxoffice) | `box_office` | :heavy_check_mark: | :x: |
| [Most Popular Movies](https://www.imdb.com/chart/moviemeter) | `popular_movies` | :heavy_check_mark: | :x: |
| [Top 250 Movies](https://www.imdb.com/chart/top) | `top_movies` | :heavy_check_mark: | :x: |
| [Top Rated English Movies](https://www.imdb.com/chart/top-english-movies) | `top_english` | :heavy_check_mark: | :x: |
| [Most Popular TV Shows](https://www.imdb.com/chart/tvmeter) | `popular_shows` | :x: | :heavy_check_mark: |
| [Top 250 TV Shows](https://www.imdb.com/chart/toptv) | `top_shows` | :x: | :heavy_check_mark: |
| [Top Rated Indian Movies](https://www.imdb.com/india/top-rated-indian-movies/) | `top_indian` | :heavy_check_mark: | :x: |
| [Lowest Rated Movies](https://www.imdb.com/chart/bottom) | `lowest_rated` | :heavy_check_mark: | :x: |
| Name | Attribute | Works with Movies | Works with Shows |
|:-------------------------------------------------------------------------------|:-----------------|:------------------:|:------------------:|
| [Box Office](https://www.imdb.com/chart/boxoffice) | `box_office` | :heavy_check_mark: | :x: |
| [Most Popular Movies](https://www.imdb.com/chart/moviemeter) | `popular_movies` | :heavy_check_mark: | :x: |
| [Top 250 Movies](https://www.imdb.com/chart/top) | `top_movies` | :heavy_check_mark: | :x: |
| [Top Rated English Movies](https://www.imdb.com/chart/top-english-movies) | `top_english` | :heavy_check_mark: | :x: |
| [Most Popular TV Shows](https://www.imdb.com/chart/tvmeter) | `popular_shows` | :x: | :heavy_check_mark: |
| [Top 250 TV Shows](https://www.imdb.com/chart/toptv) | `top_shows` | :x: | :heavy_check_mark: |
| [Top Rated Indian Movies](https://www.imdb.com/india/top-rated-indian-movies/) | `top_indian` | :heavy_check_mark: | :x: |
| [Lowest Rated Movies](https://www.imdb.com/chart/bottom) | `lowest_rated` | :heavy_check_mark: | :x: |
```yaml
collections:

@ -19,13 +19,13 @@ Assets are searched for only at specific times.
The table below shows the asset folder path structures that will be searched for. 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 the `asset_folders` attribute under `settings`.
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`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` |
| Image Type | Image Path With Folders<br>`asset_folders: true` | Image Path Without Folder<br>`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`.

@ -2,10 +2,10 @@ You can find items using the lists on [Letterboxd.com](https://letterboxd.com/)
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [Letterboxd List](#letterboxd-list) | `letterboxd_list` | Finds every movie in the Letterboxd List | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [Letterboxd List Details](#letterboxd-list) | `letterboxd_list_details` | Finds every movie in the Letterboxd List and updates the collection with the description of the Letterboxd list | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:--------------------------------------------|:--------------------------|:----------------------------------------------------------------------------------------------------------------|:------------------:|:----------------:|:------------------------------------:|
| [Letterboxd List](#letterboxd-list) | `letterboxd_list` | Finds every movie in the Letterboxd List | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [Letterboxd List Details](#letterboxd-list) | `letterboxd_list_details` | Finds every movie in the Letterboxd List and updates the collection with the description of the Letterboxd list | :heavy_check_mark: | :x: | :heavy_check_mark: |
## Letterboxd List
Finds every movie in the Letterboxd List.

@ -57,16 +57,16 @@ radarr:
The available attributes for each library are as follows
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| [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: |
| 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: |
| Sonarr Mapping | `sonarr` | [`sonarr` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) | global | :x: |
| Tautulli Mapping | `tautulli` | [`tautulli` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Tautulli-Attributes) | global | :x: |
| Name | Attribute | Allowed Values | Default | Required |
|:--------------------------------|:----------------|:-----------------------------------------------------------------------------------------------------------|:----------------------------------:|:------------------------------------------:|
| [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: |
| 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: |
| Sonarr Mapping | `sonarr` | [`sonarr` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) | global | :x: |
| Tautulli Mapping | `tautulli` | [`tautulli` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Tautulli-Attributes) | global | :x: |
* Library mappings must have a colon `:` placed after them
@ -128,6 +128,14 @@ libraries:
metadata_path:
git: meisnate12/Charts
```
To use a Playlist File from a `custom_repo` defined in the global Settings add `repo` under playlist_files set to the path in the repository.
* This loads the yaml file at `https://raw.githubusercontent.com/zluckytraveler/Plex-Meta-Manager-Configs/master/zluckytraveler/Collections/Movies/Movies.yml`
```yaml
settings:
custom_repo: https://raw.githubusercontent.com/zluckytraveler/Plex-Meta-Manager-Configs/master/zluckytraveler/
playlist_files:
repo: Collections/Movies/Movies
```
You can specify multiple paths of any type using a list like below.
```yaml
libraries:

@ -0,0 +1,31 @@
You can find items using the features of [MdbList.com](https://mdblist.com/) (MdbList).
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:------------------------------|:---------------|:--------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [MdbList List](#mdblist-list) | `mdblist_list` | Gets every movie/show in a [MdbList List](https://mdblist.com/toplists/). | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## MdbList List
Finds every item in a [MdbList List](https://mdblist.com/toplists/).
The expected input is an MdbList List URL. Multiple values are supported as a list only a comma-separated string will not work.
The `sync_mode: sync` and `collection_order: custom` Details are recommended since the lists are continuously updated and in a specific order.
```yaml
collections:
Top Movies of The Week:
mdblist_list: https://mdblist.com/lists/linaspurinis/top-watched-movies-of-the-week
collection_order: custom
sync_mode: sync
```
You can also limit the number of items to search for by using the `limit` and `url` parameters under `mdblist_list`.
```yaml
collections:
Top 10 Movies of The Week:
mdblist_list:
url: https://mdblist.com/lists/linaspurinis/top-watched-movies-of-the-week
limit: 10
collection_order: custom
sync_mode: sync
```

@ -40,15 +40,15 @@ The available attributes for each movie/show are as follows
### Special Attributes
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
| :--- | :--- | :--- | :---: | :---: |
| Title | `title` | Title if different from the mapping value useful when you have multiple movies with the same name | :heavy_check_mark: | :heavy_check_mark: |
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :heavy_check_mark: |
| Year | `year` | Year of movie/show for better identification | :heavy_check_mark: | :heavy_check_mark: |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie | :heavy_check_mark: | :heavy_check_mark: |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments | :heavy_check_mark: | :heavy_check_mark: |
| Seasons | `seasons` | [`seasons` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Seasons-Attributes) | :x: | :heavy_check_mark: |
| Episodes | `episodes` | [`episodes` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Episodes-Attributes) | :x: | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
|:------------------|:-------------|:-------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|
| Title | `title` | Title if different from the mapping value useful when you have multiple movies with the same name | :heavy_check_mark: | :heavy_check_mark: |
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :heavy_check_mark: |
| Year | `year` | Year of movie/show for better identification | :heavy_check_mark: | :heavy_check_mark: |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie | :heavy_check_mark: | :heavy_check_mark: |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments | :heavy_check_mark: | :heavy_check_mark: |
| Seasons | `seasons` | [`seasons` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Seasons-Attributes) | :x: | :heavy_check_mark: |
| Episodes | `episodes` | [`episodes` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Episodes-Attributes) | :x: | :heavy_check_mark: |
* YAML files cannot have two items with the same mapping name so if you have two movies/shows with the same name you would change the mapping values to whatever you want. Then use the `title` attribute to specify the real title and use the `year` attribute to specify which of the multiple movies/shows to choose.
@ -74,16 +74,16 @@ The available attributes for each movie/show are as follows
### General Attributes
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
| :--- | :--- | :--- | :---: | :---: |
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :heavy_check_mark: |
| Original Title | `original_title` | Text to change Original Title | :heavy_check_mark: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :heavy_check_mark: |
| Content Rating | `content_rating` | Text to change Content Rating | :heavy_check_mark: | :heavy_check_mark: |
| Rating | `rating` | Number to change Rating | :heavy_check_mark:| :heavy_check_mark: |
| Studio | `studio` | Text to change Studio | :heavy_check_mark: | :heavy_check_mark: |
| Tagline | `tagline` | Text to change Tagline | :heavy_check_mark:| :heavy_check_mark: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
|:---------------------|:-----------------------|:--------------------------------------------------------------|:------------------:|:------------------:|
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :heavy_check_mark: |
| Original Title | `original_title` | Text to change Original Title | :heavy_check_mark: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :heavy_check_mark: |
| Content Rating | `content_rating` | Text to change Content Rating | :heavy_check_mark: | :heavy_check_mark: |
| Rating | `rating` | Number to change Rating | :heavy_check_mark: | :heavy_check_mark: |
| Studio | `studio` | Text to change Studio | :heavy_check_mark: | :heavy_check_mark: |
| Tagline | `tagline` | Text to change Tagline | :heavy_check_mark: | :heavy_check_mark: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: |
### Tag Attributes
@ -91,35 +91,35 @@ You can add `.remove` to any tag attribute to only remove those tags i.e. `genre
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
| :--- | :--- | :--- | :---: | :---: |
| Director | `director` | List or comma-separated text of each Director Tag | :heavy_check_mark: | :x: |
| Country | `country` | List or comma-separated text of each Country Tag | :heavy_check_mark: | :x: |
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :heavy_check_mark: |
| Writer | `writer` | List or comma-separated text of each Writer Tag | :heavy_check_mark: | :x: |
| Producer | `producer` | List or comma-separated text of each Producer Tag | :heavy_check_mark: | :x: |
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
|:-----------|:-------------|:----------------------------------------------------|:------------------:|:------------------:|
| Director | `director` | List or comma-separated text of each Director Tag | :heavy_check_mark: | :x: |
| Country | `country` | List or comma-separated text of each Country Tag | :heavy_check_mark: | :x: |
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :heavy_check_mark: |
| Writer | `writer` | List or comma-separated text of each Writer Tag | :heavy_check_mark: | :x: |
| Producer | `producer` | List or comma-separated text of each Producer Tag | :heavy_check_mark: | :x: |
| Collection | `collection` | List or comma-separated text of each Collection Tag | :heavy_check_mark: | :heavy_check_mark: |
| Label | `label` | List or comma-separated text of each Label Tag | :heavy_check_mark: | :heavy_check_mark: |
| Label | `label` | List or comma-separated text of each Label Tag | :heavy_check_mark: | :heavy_check_mark: |
### Advance Attributes
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
| :--- | :--- | :--- | :---: | :---: |
| Episode Sorting | `episode_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first | :x: | :heavy_check_mark: |
| Keep Episodes | `keep_episodes` | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: |
| Delete Episodes | `delete_episodes` | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh | :x: | :heavy_check_mark: |
| Season Display | `season_display` | `default`: Library default<br>`show`: Show<br>`hide`: Hide | :x: | :heavy_check_mark: |
| Episode Ordering | `episode_ordering` | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) | :x: | :heavy_check_mark: |
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` | :heavy_check_mark: | :heavy_check_mark: |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Works with Movies | Works with Shows |
|:--------------------|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|
| Episode Sorting | `episode_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first | :x: | :heavy_check_mark: |
| Keep Episodes | `keep_episodes` | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: |
| Delete Episodes | `delete_episodes` | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh | :x: | :heavy_check_mark: |
| Season Display | `season_display` | `default`: Library default<br>`show`: Show<br>`hide`: Hide | :x: | :heavy_check_mark: |
| Episode Ordering | `episode_ordering` | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) | :x: | :heavy_check_mark: |
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` | :heavy_check_mark: | :heavy_check_mark: |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes | :heavy_check_mark: | :heavy_check_mark: |
\* Must be using the **New Plex Movie Agent** or the **New Plex TV Agent**
## Image Attributes
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| URL Poster | `url_poster` | Used to change the movie/show's poster to the URL | URL of image publicly available on the internet |
| File Poster | `file_poster` | Used to change the movie/show's poster to the image in the file system | Path to image in the file system |
| URL Background | `url_background` | Use to change the movie/show's background to the URL | URL of image publicly available on the internet |
| File Background | `file_background` | Used to change the movie/show's background to the image in the file system | Path to image in the file system |
| Name | Attribute | Description | Allowed Values |
|:----------------|:------------------|:---------------------------------------------------------------------------|:------------------------------------------------|
| URL Poster | `url_poster` | Used to change the movie/show's poster to the URL | URL of image publicly available on the internet |
| File Poster | `file_poster` | Used to change the movie/show's poster to the image in the file system | Path to image in the file system |
| URL Background | `url_background` | Use to change the movie/show's background to the URL | URL of image publicly available on the internet |
| File Background | `file_background` | Used to change the movie/show's background to the image in the file system | Path to image in the file system |

@ -1,20 +1,20 @@
## Metadata Details
All the following attributes update various details of the collection/playlist's Metadata.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| TMDb Person | `tmdb_person` | Used to change the collection/playlist's summary and poster to a TMDb Person's biography and profile as well as allow the people specified to be used in [Plex Searches](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#plex-search) | TMDb Person ID (List or Comma-separated string) | :heavy_check_mark: |
| Sort Title | `sort_title` | Used to change the collection's sort title | Text to change Sort Title | :x: |
| Content Rating | `content_rating` | Used to change the collection's content rating | Text to change Content Rating | :x: |
| Label | `label` | Used to append new labels to the collection | Comma-separated string of labels to append | :x: |
| Label Remove | `label.remove` | Used to remove existing labels from the collection | Comma-separated string of labels to remove | :x: |
| Label Sync | `label.sync` | Matches the labels of the collection to the labels provided (Leave blank to remove all labels) | Comma-separated string of labels to sync | :x: |
| Collection Mode | `collection_mode` | Used to change the Collection Mode | `default`: Library default<br>`hide`: Hide Collection<br>`hide_items`: Hide Items in this Collection<br>`show_items`: Show this Collection and its Items | :x: |
| Collection Order | `collection_order` | Used to change the Collection Order | `release`: Order Collection by Release Dates<br>`alpha`: Order Collection Alphabetically<br>`custom`: Order Collection Via the Builder Order<br>[Any `plex_search` Sort Option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#sort-options) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Collection Level | `collection_level` | Used to make season, episode, album or track collections from `plex_all`, `plex_search`, `trakt_list`, or `imdb_list` Builders and Filters | `season`: Collection contains seasons<br>`episode`: Collection contains episodes<br>`album`: Collection contains albums<br>`track`: Collection contains tracks | :x: |
| Visible on Library | `visible_library` | Used to change collection visible on Library (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
| Visible on Home | `visible_home` | Used to change collection visible on Home (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
| Visible on Shared | `visible_shared` | Used to change collection visible on Shared Users' Home (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:-------------------|:-------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------:|
| TMDb Person | `tmdb_person` | Used to change the collection/playlist's summary and poster to a TMDb Person's biography and profile as well as allow the people specified to be used in [Plex Searches](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#plex-search) | TMDb Person ID (List or Comma-separated string) | :heavy_check_mark: |
| Sort Title | `sort_title` | Used to change the collection's sort title | Text to change Sort Title | :x: |
| Content Rating | `content_rating` | Used to change the collection's content rating | Text to change Content Rating | :x: |
| Label | `label` | Used to append new labels to the collection | Comma-separated string of labels to append | :x: |
| Label Remove | `label.remove` | Used to remove existing labels from the collection | Comma-separated string of labels to remove | :x: |
| Label Sync | `label.sync` | Matches the labels of the collection to the labels provided (Leave blank to remove all labels) | Comma-separated string of labels to sync | :x: |
| Collection Mode | `collection_mode` | Used to change the Collection Mode | `default`: Library default<br>`hide`: Hide Collection<br>`hide_items`: Hide Items in this Collection<br>`show_items`: Show this Collection and its Items | :x: |
| Collection Order | `collection_order` | Used to change the Collection Order | `release`: Order Collection by Release Dates<br>`alpha`: Order Collection Alphabetically<br>`custom`: Order Collection Via the Builder Order<br>[Any `plex_search` Sort Option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#sort-options) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Collection Level | `collection_level` | Used to make season, episode, album or track collections from `plex_all`, `plex_search`, `trakt_list`, or `imdb_list` Builders and Filters | `season`: Collection contains seasons<br>`episode`: Collection contains episodes<br>`album`: Collection contains albums<br>`track`: Collection contains tracks | :x: |
| Visible on Library | `visible_library` | Used to change collection visible on Library (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
| Visible on Home | `visible_home` | Used to change collection visible on Home (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
| Visible on Shared | `visible_shared` | Used to change collection visible on Shared Users' Home (Only works with Plex Pass) | `true`: Visible<br>`false`: Not Visible<br>Any [`schedule`](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) | :x: |
* **Sort Title:** You can use `sort_title` to "promote" certain collections to the top of a library by creating a sort title starting with a `+` or "demote" certain collections to the bottom of a library by creating a sort title starting with a `~`.
* **Custom Collection Order:** When using `collection_order: custom` you can only have a single builder in the collection.
@ -24,66 +24,68 @@ All the following attributes update various details of the collection/playlist's
![Display](https://raw.githubusercontent.com/wiki/meisnate12/Plex-Meta-Manager/display.png)
## Item Metadata Details
All the following attributes update various details of the metadata for every item in the collection/playlist.
All the following attributes update various details of the metadata for every item in the collection.
| Name | Attribute | Description | Allowed Values | Works with Movies | Works with Shows | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: | :---: | :---: |
| Label | `item_label` | Used to append new labels to every movie/show in the collection | Comma-separated string of labels to append | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Label Remove | `item_label.remove` | Used to remove existing labels from every movie/show in the collection | Comma-separated string of labels to remove | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Label Sync | `item_label.sync` | Matches the labels of every movie/show in the collection to the labels provided (Leave blank to remove all labels) | Comma-separated string of labels to sync | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Posters | `item_lock_poster` | Locks the poster of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Backgrounds | `item_lock_background` | Locks the background of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Titles | `item_lock_title` | Locks the title of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| 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: | :x: |
| Check For Assets | `item_assets` | Checks your assets folders for assets of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Refresh Item | `item_refresh` | Refreshes the metadata of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| TMDb Season Titles | `item_tmdb_season_titles` | Changes the season titles of every show in the collection to match TMDb | `true` or `false`<br>**Default:** false | :x: | :heavy_check_mark: | :x: |
| Episode Sorting | `item_episode_sorting` | Changes the episode sorting of every show in the collection | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first | :x: | :heavy_check_mark: | :x: |
| Keep Episodes | `item_keep_episodes` | Changes the keep episodes of every show in the collection | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: | :x: |
| Delete Episodes | `item_delete_episodes` | Changes the delete episodes of every show in the collection | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh | :x: | :heavy_check_mark: | :x: |
| Season Display | `item_season_display` | Changes the season display of every show in the collection | `default`: Library default<br>`show`: Show<br>`hide`: Hide | :x: | :heavy_check_mark: | :x: |
| Episode Ordering | `item_episode_ordering` | Changes the episode ordering of every show in the collection | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) | :x: | :heavy_check_mark: | :x: |
| Metadata Language* | `item_metadata_language` | Changes the metadata language of every movie/show in the collection | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Use Original Title* | `item_use_original_title` | Changes the use original title of every movie/show in the collection | `default`: Library default<br>`no`: No<br>`yes`: Yes | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Name | Attribute | Description | Allowed Values | Works with Movies | Works with Shows | Works with Playlists |
|:----------------------|:--------------------------|:-------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:--------------------:|
| Label | `item_label` | Used to append new labels to every movie/show in the collection | Comma-separated string of labels to append | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Label Remove | `item_label.remove` | Used to remove existing labels from every movie/show in the collection | Comma-separated string of labels to remove | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Label Sync | `item_label.sync` | Matches the labels of every movie/show in the collection to the labels provided (Leave blank to remove all labels) | Comma-separated string of labels to sync | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Non Item Label Remove | `non_item_remove_label` | Matches every movie/show that has the given label and is not in the collection and removes the label | Comma-separated string of labels to remove | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Posters | `item_lock_poster` | Locks the poster of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Backgrounds | `item_lock_background` | Locks the background of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Lock Titles | `item_lock_title` | Locks the title of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| 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: | :x: |
| Check For Assets | `item_assets` | Checks your assets folders for assets of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Refresh Item | `item_refresh` | Refreshes the metadata of every movie/show in the collection | `true` or `false`<br>**Default:** false | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Refresh Item Delay | `item_refresh_delay` | Amount of time to wait between each `item_refresh` of every movie/show in the collection | Number greater then 0<br>**Default:** 0 | :heavy_check_mark: | :heavy_check_mark: | :x: |
| TMDb Season Titles | `item_tmdb_season_titles` | Changes the season titles of every show in the collection to match TMDb | `true` or `false`<br>**Default:** false | :x: | :heavy_check_mark: | :x: |
| Episode Sorting | `item_episode_sorting` | Changes the episode sorting of every show in the collection | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first | :x: | :heavy_check_mark: | :x: |
| Keep Episodes | `item_keep_episodes` | Changes the keep episodes of every show in the collection | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days | :x: | :heavy_check_mark: | :x: |
| Delete Episodes | `item_delete_episodes` | Changes the delete episodes of every show in the collection | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh | :x: | :heavy_check_mark: | :x: |
| Season Display | `item_season_display` | Changes the season display of every show in the collection | `default`: Library default<br>`show`: Show<br>`hide`: Hide | :x: | :heavy_check_mark: | :x: |
| Episode Ordering | `item_episode_ordering` | Changes the episode ordering of every show in the collection | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) | :x: | :heavy_check_mark: | :x: |
| Metadata Language* | `item_metadata_language` | Changes the metadata language of every movie/show in the collection | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Use Original Title* | `item_use_original_title` | Changes the use original title of every movie/show in the collection | `default`: Library default<br>`no`: No<br>`yes`: Yes | :heavy_check_mark: | :heavy_check_mark: | :x: |
\* Must be using the **New Plex Movie Agent** or the **New Plex TV Agent**
## Summary Details
All the following attributes update the summary of the collection/playlist from various sources.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| Summary | `summary` | Used to change the collection/playlist's summary | Text to change Summary | :heavy_check_mark: |
| TMDb Summary | `tmdb_summary` | Used to change the collection/playlist's summary to the TMDb Movie/Collection summary for a movie library or the TMDb Show summary for a show library | TMDb Movie/Show/Collection ID | :heavy_check_mark: |
| TMDb Description | `tmdb_description` | Used to change the collection/playlist's summary to the TMDb List Description | TMDb List ID | :heavy_check_mark: |
| TMDb Biography | `tmdb_biography` | Used to change the collection/playlist's summary to the TMDb Person's biography | TMDb Person ID | :heavy_check_mark: |
| TVDb Summary | `tvdb_summary` | Used to change the collection/playlist's summary to the TVDb Movie summary for a movie library or the TVDb Show summary for a show library | TVDb Movie/Show ID or URL | :heavy_check_mark: |
| TVDb Description | `tvdb_description` | Used to change the collection/playlist's summary to the TVDb List Description | TVDb List URL | :heavy_check_mark: |
| Trakt Description | `trakt_description` | Used to change the collection/playlist's summary to the Trakt List Description | Trakt List URL | :heavy_check_mark: |
| Letterboxd Description | `letterboxd_description` | Used to change the collection/playlist's summary to the Letterboxd List Description | Letterboxd List URL | :heavy_check_mark: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:-----------------------|:-------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------|:--------------------:|
| Summary | `summary` | Used to change the collection/playlist's summary | Text to change Summary | :heavy_check_mark: |
| TMDb Summary | `tmdb_summary` | Used to change the collection/playlist's summary to the TMDb Movie/Collection summary for a movie library or the TMDb Show summary for a show library | TMDb Movie/Show/Collection ID | :heavy_check_mark: |
| TMDb Description | `tmdb_description` | Used to change the collection/playlist's summary to the TMDb List Description | TMDb List ID | :heavy_check_mark: |
| TMDb Biography | `tmdb_biography` | Used to change the collection/playlist's summary to the TMDb Person's biography | TMDb Person ID | :heavy_check_mark: |
| TVDb Summary | `tvdb_summary` | Used to change the collection/playlist's summary to the TVDb Movie summary for a movie library or the TVDb Show summary for a show library | TVDb Movie/Show ID or URL | :heavy_check_mark: |
| TVDb Description | `tvdb_description` | Used to change the collection/playlist's summary to the TVDb List Description | TVDb List URL | :heavy_check_mark: |
| Trakt Description | `trakt_description` | Used to change the collection/playlist's summary to the Trakt List Description | Trakt List URL | :heavy_check_mark: |
| Letterboxd Description | `letterboxd_description` | Used to change the collection/playlist's summary to the Letterboxd List Description | Letterboxd List URL | :heavy_check_mark: |
## Poster Details
All the following attributes update the poster of the collection/playlist from various sources.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| URL Poster<sup>2</sup> | `url_poster` | Used to change the collection/playlist's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: |
| TMDb Poster<sup>2</sup> | `tmdb_poster` | Used to change the collection/playlist's poster to the TMDb Movie/Collection poster for a movie library or the TMDb Show poster for a show library | TMDb Movie/Show/Collection ID | :heavy_check_mark: |
| TMDb List Poster<sup>2</sup> | `tmdb_list_poster` | Used to change the collection/playlist's poster to the TMDb List poster | TMDb List ID | :heavy_check_mark: |
| TMDb Profile<sup>2</sup> | `tmdb_profile` | Used to change the collection/playlist's poster to the TMDb Person's profile | TMDb Person ID | :heavy_check_mark: |
| TVDb Poster<sup>2</sup> | `tvdb_poster` | Used to change the collection/playlist'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 | :heavy_check_mark: |
| File Poster<sup>2</sup> | `file_poster` | Used to change the collection/playlist's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:-----------------------------|:-------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------|:--------------------:|
| URL Poster<sup>2</sup> | `url_poster` | Used to change the collection/playlist's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: |
| TMDb Poster<sup>2</sup> | `tmdb_poster` | Used to change the collection/playlist's poster to the TMDb Movie/Collection poster for a movie library or the TMDb Show poster for a show library | TMDb Movie/Show/Collection ID | :heavy_check_mark: |
| TMDb List Poster<sup>2</sup> | `tmdb_list_poster` | Used to change the collection/playlist's poster to the TMDb List poster | TMDb List ID | :heavy_check_mark: |
| TMDb Profile<sup>2</sup> | `tmdb_profile` | Used to change the collection/playlist's poster to the TMDb Person's profile | TMDb Person ID | :heavy_check_mark: |
| TVDb Poster<sup>2</sup> | `tvdb_poster` | Used to change the collection/playlist'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 | :heavy_check_mark: |
| File Poster<sup>2</sup> | `file_poster` | Used to change the collection/playlist's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: |
* 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/playlist 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/playlist from various sources.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| URL Background<sup>3</sup> | `url_background` | Used to change the collection/playlist's background to the URL | URL of image publicly available on the internet | :x: |
| TMDb Background<sup>3</sup> | `tmdb_background` | Used to change the collection/playlist's background to the TMDb Movie/Collection background for a movie library or the TMDb Show background for a show library | TMDb Movie/Show/Collection ID | :x: |
| TVDb Background<sup>3</sup> | `tvdb_background` | Used to change the collection/playlist'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 | :x: |
| File Background<sup>3</sup> | `file_background` | Used to change the collection/playlist's background to the image in the file system | Path to image in the file system | :x: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:----------------------------|:------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------------------------------------|:--------------------:|
| URL Background<sup>3</sup> | `url_background` | Used to change the collection/playlist's background to the URL | URL of image publicly available on the internet | :x: |
| TMDb Background<sup>3</sup> | `tmdb_background` | Used to change the collection/playlist's background to the TMDb Movie/Collection background for a movie library or the TMDb Show background for a show library | TMDb Movie/Show/Collection ID | :x: |
| TVDb Background<sup>3</sup> | `tvdb_background` | Used to change the collection/playlist'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 | :x: |
| File Background<sup>3</sup> | `file_background` | Used to change the collection/playlist's background to the image in the file system | Path to image in the file system | :x: |
* 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/playlist name or the `name_mapping` if specified and look for a `background.ext` file in that folder (replacing .ext with the image extension).

@ -8,11 +8,11 @@ While you specify playlists in a Playlist File that is defined by the [Playlist
There are three mappings allowed in the Metadata File's root:
| Name | Attribute | Description |
| :--- | :--- | :--- |
| [Metadata](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Metadata-Attributes) | `metadata` | mapping where metadata changes go |
| [Templates](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | `templates` | mapping where templates for automatic collections go |
| [Collections](#collections-and-playlists-mappings) | `collections` | mapping where automatic collections and collection metadata go |
| Name | Attribute | Description |
|:-------------------------------------------------------------------------------------|:--------------|:---------------------------------------------------------------|
| [Metadata](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Metadata-Attributes) | `metadata` | mapping where metadata changes go |
| [Templates](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | `templates` | mapping where templates for automatic collections go |
| [Collections](#collections-and-playlists-mappings) | `collections` | mapping where automatic collections and collection metadata go |
* Either `metadata` or `collections` is required in order to run the Metadata File.
* You can find example Metadata Files in the [Plex Meta Manager Configs Repository](https://github.com/meisnate12/Plex-Meta-Manager-Configs)
@ -23,10 +23,10 @@ There are two mappings allowed in the Playlist File's root:
++Note: Many players cannot resume playing a playlist in order vote for this [Feature](https://forums.plex.tv/t/playlists-remember-position-for-subsequent-resume/84866) to be added.**
| Name | Attribute | Description |
| :--- | :--- | :--- |
| [Templates](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | `templates` | mapping where templates for automatic collections go |
| [Playlists](#additional-playlist-attributes) | `playlists` | mapping where automatic playlists and playlist metadata go |
| Name | Attribute | Description |
|:----------------------------------------------------------------------------|:------------|:-----------------------------------------------------------|
| [Templates](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | `templates` | mapping where templates for automatic collections go |
| [Playlists](#additional-playlist-attributes) | `playlists` | mapping where automatic playlists and playlist metadata go |
* `playlists` is required in order to run the Playlist File.
* You can find example Playlist Files in the [Plex Meta Manager Configs Repository](https://github.com/meisnate12/Plex-Meta-Manager-Configs)

@ -0,0 +1,162 @@
You can have the script edit the metadata of Movies by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a movie library is below:
```yaml
metadata:
Godzilla (1954):
title: Godzilla
year: 1954
content_rating: R
Godzilla (1998):
title: Godzilla
year: 1998
sort_title: Godzilla 03
content_rating: PG-13
Shin Godzilla:
sort_title: Godzilla 06
content_rating: R
Godzilla 1985:
content_rating: PG
"Godzilla 2000: Millennium":
originally_available: 1999-08-18
Godzilla Against MechaGodzilla:
originally_available: 2002-03-23
Godzilla Raids Again:
content_rating: G
originally_available: 1955-05-21
Godzilla vs. Biollante:
content_rating: PG
Godzilla vs. Destoroyah:
content_rating: PG
originally_available: 1995-01-19
Godzilla vs. Gigan:
content_rating: G
originally_available: 1972-09-14
Godzilla vs. Hedorah:
content_rating: G
originally_available: 1971-04-01
Godzilla vs. King Ghidorah:
content_rating: PG
originally_available: 1991-04-28
Godzilla vs. Mechagodzilla:
content_rating: G
originally_available: 1974-03-24
Godzilla vs. Mechagodzilla II:
content_rating: PG
Godzilla vs. Megaguirus:
content_rating: PG
originally_available: 2000-08-31
Godzilla vs. Megalon:
content_rating: G
originally_available: 1973-03-17
Godzilla vs. Mothra:
content_rating: PG
originally_available: 1992-04-28
Godzilla vs. SpaceGodzilla:
content_rating: PG
originally_available: 1994-01-19
Godzilla, King of the Monsters!:
content_rating: G
"Godzilla, Mothra and King Ghidorah: Giant Monsters All-Out Attack":
content_rating: PG
originally_available: 2001-08-31
"Godzilla: Final Wars":
content_rating: PG
originally_available: 2004-12-13
"Godzilla: Tokyo S.O.S.":
originally_available: 2003-12-14
Halloween (Rob Zombie):
alt_title: Halloween
year: 2007
"Halo 4: Forward Unto Dawn":
alt_title: Halo 4 Forward Unto Dawn
tmdb_show: 56295
content_rating: R
```
## Movies
Each movie is defined by the mapping name which must be the same as the movie name in the library unless an `alt_title` is specified.
## Metadata Edits
The available attributes for editing movies are as follows
### Special Attributes
| Name | Attribute | Allowed Values |
|:------------------|:-------------|:--------------------------------------------------------------------------------------------------|
| Title | `title` | Title if different from the mapping value useful when you have multiple movies with the same name |
| Alternative Title | `alt_title` | Alternative title to look for |
| Year | `year` | Year of movie for better identification |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments |
* YAML files cannot have two items with the same mapping name so if you have two movies with the same name you would change the mapping values to whatever you want. Then use the `title` attribute to specify the real title and use the `year` attribute to specify which of the multiple movies to choose.
```yaml
metadata:
Godzilla1:
title: Godzilla
year: 1954
content_rating: R
Godzilla2:
title: Godzilla
year: 1998
content_rating: PG-13
```
* If you know of another Title your movie might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example TMDb uses the name `The Legend of Korra`, but I want it as `Avatar: The Legend of Korra` (Which must be surrounded by quotes since it uses the character `:`):
```yaml
metadata:
"Avatar: The Legend of Korra":
alt_title: The Legend of Korra
```
This would change the name of the TMDb default `The Legend of Korra` to `Avatar: The Legend of Korra` and would not mess up any subsequent runs.
### General Attributes
| Name | Attribute | Allowed Values |
|:---------------------|:-----------------------|:--------------------------------------------------------------|
| Sort Title | `sort_title` | Text to change Sort Title |
| Original Title | `original_title` | Text to change Original Title |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD |
| Content Rating | `content_rating` | Text to change Content Rating |
| Rating | `rating` | Number to change Rating |
| Studio | `studio` | Text to change Studio |
| Tagline | `tagline` | Text to change Tagline |
| Summary | `summary` | Text to change Summary |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values |
|:-----------|:-------------|:----------------------------------------------------|
| Director | `director` | List or comma-separated text of each Director Tag |
| Country | `country` | List or comma-separated text of each Country Tag |
| Genre | `genre` | List or comma-separated text of each Genre Tag |
| Writer | `writer` | List or comma-separated text of each Writer Tag |
| Producer | `producer` | List or comma-separated text of each Producer Tag |
| Collection | `collection` | List or comma-separated text of each Collection Tag |
| Label | `label` | List or comma-separated text of each Label Tag |
### Advance Attributes
| Name | Attribute | Allowed Values |
|:--------------------|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes |
\* Must be using the **New Plex Movie Agent*
## Image Attributes
| Name | Attribute | Description | Allowed Values |
|:----------------|:------------------|:----------------------------------------------------------------------|:------------------------------------------------|
| URL Poster | `url_poster` | Used to change the movie's poster to the URL | URL of image publicly available on the internet |
| File Poster | `file_poster` | Used to change the movie's poster to the image in the file system | Path to image in the file system |
| URL Background | `url_background` | Use to change the movie's background to the URL | URL of image publicly available on the internet |
| File Background | `file_background` | Used to change the movie's background to the image in the file system | Path to image in the file system |

@ -1,162 +0,0 @@
You can have the script edit the metadata of Movies by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a movie library is below:
```yaml
metadata:
Godzilla (1954):
title: Godzilla
year: 1954
content_rating: R
Godzilla (1998):
title: Godzilla
year: 1998
sort_title: Godzilla 03
content_rating: PG-13
Shin Godzilla:
sort_title: Godzilla 06
content_rating: R
Godzilla 1985:
content_rating: PG
"Godzilla 2000: Millennium":
originally_available: 1999-08-18
Godzilla Against MechaGodzilla:
originally_available: 2002-03-23
Godzilla Raids Again:
content_rating: G
originally_available: 1955-05-21
Godzilla vs. Biollante:
content_rating: PG
Godzilla vs. Destoroyah:
content_rating: PG
originally_available: 1995-01-19
Godzilla vs. Gigan:
content_rating: G
originally_available: 1972-09-14
Godzilla vs. Hedorah:
content_rating: G
originally_available: 1971-04-01
Godzilla vs. King Ghidorah:
content_rating: PG
originally_available: 1991-04-28
Godzilla vs. Mechagodzilla:
content_rating: G
originally_available: 1974-03-24
Godzilla vs. Mechagodzilla II:
content_rating: PG
Godzilla vs. Megaguirus:
content_rating: PG
originally_available: 2000-08-31
Godzilla vs. Megalon:
content_rating: G
originally_available: 1973-03-17
Godzilla vs. Mothra:
content_rating: PG
originally_available: 1992-04-28
Godzilla vs. SpaceGodzilla:
content_rating: PG
originally_available: 1994-01-19
Godzilla, King of the Monsters!:
content_rating: G
"Godzilla, Mothra and King Ghidorah: Giant Monsters All-Out Attack":
content_rating: PG
originally_available: 2001-08-31
"Godzilla: Final Wars":
content_rating: PG
originally_available: 2004-12-13
"Godzilla: Tokyo S.O.S.":
originally_available: 2003-12-14
Halloween (Rob Zombie):
alt_title: Halloween
year: 2007
"Halo 4: Forward Unto Dawn":
alt_title: Halo 4 Forward Unto Dawn
tmdb_show: 56295
content_rating: R
```
## Movies
Each movie is defined by the mapping name which must be the same as the movie name in the library unless an `alt_title` is specified.
## Metadata Edits
The available attributes for editing movies are as follows
### Special Attributes
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Title | `title` | Title if different from the mapping value useful when you have multiple movies with the same name |
| Alternative Title | `alt_title` | Alternative title to look for |
| Year | `year` | Year of movie for better identification |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments |
* YAML files cannot have two items with the same mapping name so if you have two movies with the same name you would change the mapping values to whatever you want. Then use the `title` attribute to specify the real title and use the `year` attribute to specify which of the multiple movies to choose.
```yaml
metadata:
Godzilla1:
title: Godzilla
year: 1954
content_rating: R
Godzilla2:
title: Godzilla
year: 1998
content_rating: PG-13
```
* If you know of another Title your movie might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example TMDb uses the name `The Legend of Korra`, but I want it as `Avatar: The Legend of Korra` (Which must be surrounded by quotes since it uses the character `:`):
```yaml
metadata:
"Avatar: The Legend of Korra":
alt_title: The Legend of Korra
```
This would change the name of the TMDb default `The Legend of Korra` to `Avatar: The Legend of Korra` and would not mess up any subsequent runs.
### General Attributes
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Sort Title | `sort_title` | Text to change Sort Title |
| Original Title | `original_title` | Text to change Original Title |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD |
| Content Rating | `content_rating` | Text to change Content Rating |
| Rating | `rating` | Number to change Rating |
| Studio | `studio` | Text to change Studio |
| Tagline | `tagline` | Text to change Tagline |
| Summary | `summary` | Text to change Summary |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Director | `director` | List or comma-separated text of each Director Tag |
| Country | `country` | List or comma-separated text of each Country Tag |
| Genre | `genre` | List or comma-separated text of each Genre Tag |
| Writer | `writer` | List or comma-separated text of each Writer Tag |
| Producer | `producer` | List or comma-separated text of each Producer Tag |
| Collection | `collection` | List or comma-separated text of each Collection Tag |
| Label | `label` | List or comma-separated text of each Label Tag |
### Advance Attributes
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes |
\* Must be using the **New Plex Movie Agent*
## Image Attributes
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| URL Poster | `url_poster` | Used to change the movie's poster to the URL | URL of image publicly available on the internet |
| File Poster | `file_poster` | Used to change the movie's poster to the image in the file system | Path to image in the file system |
| URL Background | `url_background` | Use to change the movie's background to the URL | URL of image publicly available on the internet |
| File Background | `file_background` | Used to change the movie's background to the image in the file system | Path to image in the file system |

@ -0,0 +1,107 @@
You can have the script edit the metadata of Artists, Albums, and Tracks by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a music library is below:
```yaml
metadata:
"Linkin Park":
country: "United States of America"
album_sorting: newest
albums:
"Hybrid Theory":
originally_available: "2000-10-24"
tracks:
1:
rating: 5
"One Step Closer":
rating: 5
"Meteora":
originally_available: "2003-03-25"
album_sorting: newest
tracks:
9:
rating: 5
"Numb":
rating: 5
"Minutes To Midnight":
originally_available: "2007-05-14"
```
## Artist
Each artist is defined by the mapping name which must be the same as the artist name in the library unless an `alt_title` is specified.
### Albums
To edit the metadata of a particular Album for an Artist use the `albums` attribute on its artist.
The mapping name is the album name.
### Tracks
To edit the metadata of a particular Track on an Album use the `tracks` attribute on its album.
The mapping name is the track number in that Album or the title of the Track.
## Metadata Edits
The available attributes for editing artists, albums, and tracks are as follows
### Special Attributes
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
|:------------------|:------------|:------------------------------|:------------------:|:------------------:|:------------------:|
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Albums | `albums` | Mapping to define Albums | :heavy_check_mark: | :x: | :x: |
| Tracks | `tracks` | Mapping to define Tracks | :x: | :heavy_check_mark: | :x: |
* If you know of another Title your item might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example the Artist `Kesha` used to be stylized as `Ke$ha`, and might still be found that way in Metadata results.
```yaml
metadata:
"Kesha":
alt_title: "Ke$ha"
```
This would change the name of the default `Ke$ha` to `Kesha` and would not mess up any subsequent runs.
``
### General Attributes
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
|:---------------------|:-----------------------|:--------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Rating | `rating` | Number to change Rating | :x: | :heavy_check_mark: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :x: | :heavy_check_mark: | :x: |
| Record Label | `record_label` | Text to change Record Label | :x: | :heavy_check_mark: | :x: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Track | `track` | Text to change Track | :x: | :x: | :heavy_check_mark: |
| Disc | `disc` | Text to change Disc | :x: | :x: | :heavy_check_mark: |
| Original Artist | `original_artist` | Text to change Original Artist | :x: | :x: | :heavy_check_mark: |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values | Artists | Album | Tracks |
|:---------------|:-----------------|:--------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Collection | `collection` | List or comma-separated text of each Collection Tag | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Label | `label` | List or comma-separated text of each Label Tag | :x: | :heavy_check_mark: | :x: |
| Style | `style` | List or comma-separated text of each Style Tag | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Mood | `mood` | List or comma-separated text of each Mood Tag | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Country | `country` | List or comma-separated text of each Country Tag | :heavy_check_mark: | :x: | :x: |
| Similar Artist | `similar_artist` | List or comma-separated text of each Similar Artist Tag | :heavy_check_mark: | :x: | :x: |
## Image Attributes
| Name | Attribute | Description | Allowed Values | Artists | Album | Tracks |
|:----------------|:------------------|:---------------------------------------------------------------------|:------------------------------------------------|:------------------:|:------------------:|:------:|
| URL Poster | `url_poster` | Used to change the item's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Poster | `file_poster` | Used to change the item's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
| URL Background | `url_background` | Use to change the item's background to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Background | `file_background` | Used to change the item's background to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
### Advance Attributes
All these attributes only work with Artists.
| Name | Attribute | Allowed Values |
|:--------------|:----------------|:-------------------------------------------------------------------------------------------------------|
| Album Sorting | `album_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first<br>`name`: Alphabetical |

@ -14,10 +14,10 @@ mal:
refresh_token:
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Client ID | `client_id` | MyAnimeList Application Client ID | N/A | :heavy_check_mark: |
| Client Secret | `client_secret` | MyAnimeList Application Client Secret | N/A | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Default | Required |
|:--------------|:----------------|:--------------------------------------|:-------:|:------------------:|
| Client ID | `client_id` | MyAnimeList Application Client ID | N/A | :heavy_check_mark: |
| Client Secret | `client_secret` | MyAnimeList Application Client Secret | N/A | :heavy_check_mark: |
* All other attributes will be filled in by the script.

@ -2,23 +2,23 @@ You can find anime using the features of [MyAnimeList.net](https://myanimelist.n
[Configuring MyAnimeList](https://github.com/meisnate12/Plex-Meta-Manager/wiki/MyAnimeList-Attributes) in the config is required for any of these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [MyAnimeList Top All Anime](#myanimelist-top-all-anime) | `mal_all` | Finds every anime in MyAnimeList's [Top All Anime](https://myanimelist.net/topanime.php) list | :heavy_check_mark: | :heavy_check_mark: :heavy_check_mark: |
| [MyAnimeList Top Airing Anime](#myanimelist-top-airing-anime) | `mal_airing` | Finds every anime in MyAnimeList's [Top Airing Anime](https://myanimelist.net/topanime.php?type=airing) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Upcoming Anime](#myanimelist-top-upcoming-anime) | `mal_upcoming` | Finds every anime in MyAnimeList's [Top Upcoming Anime](https://myanimelist.net/topanime.php?type=upcoming) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime TV Series](#myanimelist-top-anime-tv-series) | `mal_tv` | Finds every anime in MyAnimeList's [Top Anime TV Series](https://myanimelist.net/topanime.php?type=tv) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime Movies](#myanimelist-top-anime-movies) | `mal_movie` | Finds every anime in MyAnimeList's [Top Anime Movies](https://myanimelist.net/topanime.php?type=movie) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime OVA Series](#myanimelist-top-anime-ova-series) | `mal_ova` | Finds every anime in MyAnimeList's [Top Anime OVA Series](https://myanimelist.net/topanime.php?type=ova) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime Specials](#myanimelist-top-anime-specials) | `mal_special` | Finds every anime in MyAnimeList's [Top Anime Specials](https://myanimelist.net/topanime.php?type=special) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Most Popular Anime](#myanimelist-most-popular-anime) | `mal_popular` | Finds every anime in MyAnimeList's [Most Popular Anime](https://myanimelist.net/topanime.php?type=bypopularity) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Most Favorited Anime](#myanimelist-most-favorited-anime) | `mal_favorite` | Finds every anime in MyAnimeList's [Most Favorited Anime](https://myanimelist.net/topanime.php?type=favorite) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Suggested Anime](#myanimelist-suggested-anime) | `mal_suggested` | Finds the suggested anime in by MyAnimeList for the authorized user | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList ID](#myanimelist-id) | `mal_id` | Finds the anime specified by the MyAnimeList ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [MyAnimeList User Anime List](#myanimelist-user-anime-list) | `mal_userlist` | Finds anime in MyAnimeList User's Anime list the options are detailed below | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Seasonal Anime](#myanimelist-seasonal-anime) | `mal_season` | Finds anime in MyAnimeList's [Seasonal Anime](https://myanimelist.net/anime/season) list the options are detailed below | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Genre](#myanimelist-genre) | `mal_genre` | Finds every anime tagged with the specified genre id. Genre options can be found on [MyAnimeList's Search](https://myanimelist.net/anime.php) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Studio](#myanimelist-studio) | `mal_studio` | Finds every anime tagged with the specified studio/producer/licensor id. Studio options can be found on [MyAnimeList's Search](https://myanimelist.net/anime.php) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------------------------------------------|:----------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:-------------------------------------:|:------------------------------------:|
| [MyAnimeList Top All Anime](#myanimelist-top-all-anime) | `mal_all` | Finds every anime in MyAnimeList's [Top All Anime](https://myanimelist.net/topanime.php) list | :heavy_check_mark: | :heavy_check_mark: :heavy_check_mark: |
| [MyAnimeList Top Airing Anime](#myanimelist-top-airing-anime) | `mal_airing` | Finds every anime in MyAnimeList's [Top Airing Anime](https://myanimelist.net/topanime.php?type=airing) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Upcoming Anime](#myanimelist-top-upcoming-anime) | `mal_upcoming` | Finds every anime in MyAnimeList's [Top Upcoming Anime](https://myanimelist.net/topanime.php?type=upcoming) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime TV Series](#myanimelist-top-anime-tv-series) | `mal_tv` | Finds every anime in MyAnimeList's [Top Anime TV Series](https://myanimelist.net/topanime.php?type=tv) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime Movies](#myanimelist-top-anime-movies) | `mal_movie` | Finds every anime in MyAnimeList's [Top Anime Movies](https://myanimelist.net/topanime.php?type=movie) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime OVA Series](#myanimelist-top-anime-ova-series) | `mal_ova` | Finds every anime in MyAnimeList's [Top Anime OVA Series](https://myanimelist.net/topanime.php?type=ova) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Top Anime Specials](#myanimelist-top-anime-specials) | `mal_special` | Finds every anime in MyAnimeList's [Top Anime Specials](https://myanimelist.net/topanime.php?type=special) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Most Popular Anime](#myanimelist-most-popular-anime) | `mal_popular` | Finds every anime in MyAnimeList's [Most Popular Anime](https://myanimelist.net/topanime.php?type=bypopularity) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Most Favorited Anime](#myanimelist-most-favorited-anime) | `mal_favorite` | Finds every anime in MyAnimeList's [Most Favorited Anime](https://myanimelist.net/topanime.php?type=favorite) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Suggested Anime](#myanimelist-suggested-anime) | `mal_suggested` | Finds the suggested anime in by MyAnimeList for the authorized user | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList ID](#myanimelist-id) | `mal_id` | Finds the anime specified by the MyAnimeList ID | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [MyAnimeList User Anime List](#myanimelist-user-anime-list) | `mal_userlist` | Finds anime in MyAnimeList User's Anime list the options are detailed below | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Seasonal Anime](#myanimelist-seasonal-anime) | `mal_season` | Finds anime in MyAnimeList's [Seasonal Anime](https://myanimelist.net/anime/season) list the options are detailed below | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Genre](#myanimelist-genre) | `mal_genre` | Finds every anime tagged with the specified genre id. Genre options can be found on [MyAnimeList's Search](https://myanimelist.net/anime.php) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [MyAnimeList Studio](#myanimelist-studio) | `mal_studio` | Finds every anime tagged with the specified studio/producer/licensor id. Studio options can be found on [MyAnimeList's Search](https://myanimelist.net/anime.php) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Expected Input
The builders below are expected to have a single integer value of how many movies/shows to query.
@ -182,12 +182,12 @@ Gets anime in MyAnimeList User's Anime list. The different sub-attributes are de
The `sync_mode: sync` and `collection_order: custom` Details are recommended since the lists are continuously updated and in a specific order.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `username` | A user's MyAnimeList Username or `@me` for the authorized user | :heavy_check_mark: | N/A |
| `status` | `all` (All Anime List)<br>`watching` (Currently Watching List)<br>`completed` (Completed List)<br>`on_hold` (On Hold List)<br>`dropped` (Dropped List)<br>`plan_to_watch` (Plan to Watch) | :x: | `all` |
| `sort_by` | `score` (Sort by Score)<br>`last_updated` (Sort by Last Updated)<br>`title` (Sort by Anime Title)<br>`start_date` (Sort by Start Date) | :x: | `score` |
| `limit` | Number of Anime to query from MyAnimeList (max: 1000) | :x: | 100 |
| Attribute | Description | Required | Default |
|:-----------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:-------:|
| `username` | A user's MyAnimeList Username or `@me` for the authorized user | :heavy_check_mark: | N/A |
| `status` | `all` (All Anime List)<br>`watching` (Currently Watching List)<br>`completed` (Completed List)<br>`on_hold` (On Hold List)<br>`dropped` (Dropped List)<br>`plan_to_watch` (Plan to Watch) | :x: | `all` |
| `sort_by` | `score` (Sort by Score)<br>`last_updated` (Sort by Last Updated)<br>`title` (Sort by Anime Title)<br>`start_date` (Sort by Start Date) | :x: | `score` |
| `limit` | Number of Anime to query from MyAnimeList (max: 1000) | :x: | 100 |
```yaml
collections:
@ -206,12 +206,12 @@ Gets anime in MyAnimeList's [Seasonal Anime](https://myanimelist.net/anime/seaso
The `sync_mode: sync` and `collection_order: custom` Details are recommended since the lists are continuously updated and in a specific order.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `season` | `winter` (For winter season January, February, March)<br>`spring` (For spring season April, May, June)<br>`summer` (For summer season July, August, September)<br>`fall` (For fall season October, November, December) | :x: | Current Season |
| `year` | 4 digit integer year between 1917-Current | :x: | Current Year |
| `sort_by` | `members` (Sort by Most Members)<br>`score` (Sort by Score) | :x: | `members` |
| `limit` | Number of Anime to query from MyAnimeList (max: 500) | :x: | 100 |
| Attribute | Description | Required | Default |
|:----------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:|:--------------:|
| `season` | `winter` (For winter season January, February, March)<br>`spring` (For spring season April, May, June)<br>`summer` (For summer season July, August, September)<br>`fall` (For fall season October, November, December) | :x: | Current Season |
| `year` | 4 digit integer year between 1917-Current | :x: | Current Year |
| `sort_by` | `members` (Sort by Most Members)<br>`score` (Sort by Score) | :x: | `members` |
| `limit` | Number of Anime to query from MyAnimeList (max: 500) | :x: | 100 |
```yaml
collections:
@ -242,10 +242,10 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
* To find the ID click on a Genre in the link above and there should be a number in the URL that's the `genre_id`.
* For example if the url is `https://myanimelist.net/anime/genre/1/Action` the `genre_id` would be `1`.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `genre_id` | The ID of Genre from MyAnimeList | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from MyAnimeList | :x: | 0 (All) |
| Attribute | Description | Required | Default |
|:-----------|:------------------------------------------|:------------------:|:-------:|
| `genre_id` | The ID of Genre from MyAnimeList | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from MyAnimeList | :x: | 0 (All) |
```yaml
collections:
@ -265,10 +265,10 @@ The `sync_mode: sync` and `collection_order: custom` Details are recommended sin
* To find the ID click on a Studio in the link above and there should be a number in the URL that's the `studio_id`.
* For example if the url is `https://myanimelist.net/anime/producer/4/Bones` the `studio_id` would be `4`.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `studio_id` | The ID of Studio/Producer/Licensor from MyAnimeList | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from MyAnimeList | :x: | 0 (All) |
| Attribute | Description | Required | Default |
|:------------|:----------------------------------------------------|:------------------:|:-------:|
| `studio_id` | The ID of Studio/Producer/Licensor from MyAnimeList | :heavy_check_mark: | N/A |
| `limit` | Number of Anime to query from MyAnimeList | :x: | 0 (All) |
```yaml
collections:

@ -8,9 +8,9 @@ notifiarr:
apikey: ####################################
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| API Key | `apikey` | Notifiarr API Key | N/A | :heavy_check_mark: |
| 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.

@ -8,9 +8,9 @@ omdb:
apikey: ########
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| API Key | `apikey` | OMDb API Key | N/A | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Default | Required |
|:--------|:----------|:---------------|:-------:|:------------------:|
| API Key | `apikey` | OMDb API Key | N/A | :heavy_check_mark: |
* The OMDb apikey can be generated [here](http://www.omdbapi.com/apikey.aspx).

@ -15,24 +15,24 @@ libraries:
The available operations attributes for each library are as follows
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| [TMDb Collections](#tmdb-collections) | `tmdb_collections` | Builds Collections for every movie in your library based on TMDb Collections | [`tmdb_collections` mapping details](#tmdb-collections) |
| [Genre Collections](#genre-collections) | `genre_collections` | Builds Collections for every genre in your library | [`genre_collections` mapping details](#genre-collections) |
| [Genre Mapper](#genre-mapper) | `genre_mapper` | Will check every item in your library and changed mapped genres | [`genre_mapper` mapping details](#genre-mapper) |
| 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<br>`tvdb`: Use TVDb for Genres<br>`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<br>`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<br>`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` |
| Mass Collection Mode | `mass_collection_mode` | Updates every Collection in your library to the specified Collection Mode | `default`: Library default<br>`hide`: Hide Collection<br>`hide_items`: Hide Items in this Collection<br>`show_items`: Show this Collection and its Items |
| 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` |
| Radarr Remove By Tag | `radarr_remove_by_tag` | Removes every item from Radarr with the Tags given | List or comma separated string of tags |
| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | `true` or `false` |
| Sonarr Remove By Tag | `sonarr_remove_by_tag` | Removes every item from Sonarr with the Tags given | List or comma separated string of tags |
| Name | Attribute | Description | Allowed Values |
|:----------------------------------------|:-------------------------------|:-----------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------|
| [TMDb Collections](#tmdb-collections) | `tmdb_collections` | Builds Collections for every movie in your library based on TMDb Collections | [`tmdb_collections` mapping details](#tmdb-collections) |
| [Genre Collections](#genre-collections) | `genre_collections` | Builds Collections for every genre in your library | [`genre_collections` mapping details](#genre-collections) |
| [Genre Mapper](#genre-mapper) | `genre_mapper` | Will check every item in your library and changed mapped genres | [`genre_mapper` mapping details](#genre-mapper) |
| 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<br>`tvdb`: Use TVDb for Genres<br>`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<br>`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<br>`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` |
| Mass Collection Mode | `mass_collection_mode` | Updates every Collection in your library to the specified Collection Mode | `default`: Library default<br>`hide`: Hide Collection<br>`hide_items`: Hide Items in this Collection<br>`show_items`: Show this Collection and its Items |
| 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` |
| Radarr Remove By Tag | `radarr_remove_by_tag` | Removes every item from Radarr with the Tags given | List or comma separated string of tags |
| Sonarr Add All | `sonarr_add_all` | Adds every item in the library to Sonarr | `true` or `false` |
| Sonarr Remove By Tag | `sonarr_remove_by_tag` | Removes every item from Sonarr with the Tags given | List or comma separated string of tags |
* When using `radarr_add_all` or `sonarr_add_all` the existing paths in plex will be used as the root folder of each item.
* If the paths in Plex are not the same as your Radarr/Sonarr paths you can use the `plex_path` and `radarr_path`/`sonarr_path` [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes)/[Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) details to convert the paths
@ -210,3 +210,16 @@ library:
- Action & Adventure
Comedy: Romantic Comedy
```
To just Remove a Genre without replacing it just set the Genre to nothing like this.
```yaml
library:
Movies:
operations:
genre_mapper:
Action: Action/Adventure, Action & Adventure
Romantic Comedy:
```
This example will change go through every item in your library and change the genre `Action/Adventure` or `Action & Adventure` to `Action` and remove every instance of the Genre `Romantic Comedy`.

@ -24,6 +24,14 @@ To use a Playlist File from the [Plex Meta Manager Configs](https://github.com/m
playlist_files:
git: meisnate12/Playlists
```
To use a Playlist File from a `custom_repo` defined in the global Settings add `repo` under playlist_files set to the path in the repository.
* This loads the yaml file at `https://raw.githubusercontent.com/zluckytraveler/Plex-Meta-Manager-Configs/master/zluckytraveler/Collections/Movies/Movies.yml`
```yaml
settings:
custom_repo: https://raw.githubusercontent.com/zluckytraveler/Plex-Meta-Manager-Configs/master/zluckytraveler/
playlist_files:
repo: Collections/Movies/Movies
```
You can specify multiple paths of any type using a list like below.
```yaml
playlist_files:

@ -13,14 +13,14 @@ plex:
optimize: false
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Server URL | `url` | Plex Server URL<br><strong>Example:</strong> http://192.168.1.12:32400 | N/A | :heavy_check_mark: |
| Authentication Token | `token` | Plex Server Authentication Token | N/A | :heavy_check_mark: |
| Plex Timeout | `timeout` | Plex Server Timeout | 60 | :x: |
| Clean Bundles | `clean_bundles` | Runs Clean Bundles on the Server after all Metadata Files are run | false | :x: |
| Empty Trash | `empty_trash` | Runs Empty Trash on the Server after all Metadata Files are run | false | :x: |
| Optimize | `optimize` | Runs Optimize on the Server after all Metadata Files are run | false | :x: |
| Name | Attribute | Allowed Values | Default | Required |
|:---------------------|:----------------|:-----------------------------------------------------------------------|:-------:|:------------------:|
| Server URL | `url` | Plex Server URL<br><strong>Example:</strong> http://192.168.1.12:32400 | N/A | :heavy_check_mark: |
| Authentication Token | `token` | Plex Server Authentication Token | N/A | :heavy_check_mark: |
| Plex Timeout | `timeout` | Plex Server Timeout | 60 | :x: |
| Clean Bundles | `clean_bundles` | Runs Clean Bundles on the Server after all Metadata Files are run | false | :x: |
| Empty Trash | `empty_trash` | Runs Empty Trash on the Server after all Metadata Files are run | false | :x: |
| Optimize | `optimize` | Runs Optimize on the Server after all Metadata Files are run | false | :x: |
* This script can be run on a remote Plex server, but be sure that the `url` provided is publicly addressable and it's recommended to use `HTTPS`.

@ -2,11 +2,12 @@ This builder finds its items by using the features of Plex.
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [Plex All](#plex-all) | `plex_all` | Gets every movie/show in your library. Useful with [Filters](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Filters) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Plex Collectionless](#plex-collectionless) | `plex_collectionless` | Gets every movie/show that is not in a collection | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Plex Search](#plex-search) | `plex_search` | Gets every movie/show based on the search parameters provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:--------------------------------------------|:----------------------|:---------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [Plex All](#plex-all) | `plex_all` | Gets every movie/show in your library. Useful with [Filters](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Filters) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Plex Pilots](#plex-pilots) | `plex_pilots` | Gets the first episode of every show in your library | :x: | :heavy_check_mark: | :heavy_check_mark: |
| [Plex Collectionless](#plex-collectionless) | `plex_collectionless` | Gets every movie/show that is not in a collection | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Plex Search](#plex-search) | `plex_search` | Gets every movie/show based on the search parameters provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Plex All
Finds every item in your library. Useful with [Filters](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Filters).
@ -21,6 +22,16 @@ collections:
rating.gte: 9
```
## Plex Pilots
Gets the first episode of every show in your library. This Only works with `collection_level: episode`
```yaml
collection:
Pilots:
collection_level: episode
plex_pilots: true
```
## Plex Collectionless
**This is not needed if you're using [Smart Label Collections](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Smart-Builders#smart-label).**
@ -64,42 +75,42 @@ There are a couple other attributes you can have at the top level only along wit
## Special Attributes
| Special Option | Attribute | Description | Default |
| :--- | :--- | :--- | :---: |
| Type | `type` | The Type of items inside this collection/playlist<br>**Options**: `movies`, `shows`, `seasons`, `episodes`, `artists`, `albums`, or `tracks` | `movies` for Movies Libraries, `shows` for Show Libraries, and `artists` for Music Libraries |
| Limit | `limit` | The max number of item for the search | all |
| Sort By | `sort_by` | This will control how the search is sorted in your library. You can use any sort options for your search type in the [Sorts Options Table](#sort-options) | `random` |
| Validate | `validate` | Determines if a collection/playlist will fail on a validation error<br>**Options**: `true` or `false` | `true` |
| Special Option | Attribute | Description | Default |
|:---------------|:------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:--------------------------------------------------------------------------------------------:|
| Type | `type` | The Type of items inside this collection/playlist<br>**Options**: `movies`, `shows`, `seasons`, `episodes`, `artists`, `albums`, or `tracks` | `movies` for Movies Libraries, `shows` for Show Libraries, and `artists` for Music Libraries |
| Limit | `limit` | The max number of item for the search | all |
| Sort By | `sort_by` | This will control how the search is sorted in your library. You can use any sort options for your search type in the [Sorts Options Table](#sort-options) | `random` |
| Validate | `validate` | Determines if a collection/playlist will fail on a validation error<br>**Options**: `true` or `false` | `true` |
## Sort Options
| Sort Option | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Tracks |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `title.asc`/<br>`title.desc` | Sort by Title | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `season.asc`/<br>`season.desc` | Sort by Season | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| `show.asc`/<br>`show.desc` | Sort by Show | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `album_artist.asc`/<br>`album_artist.desc` | Sort by Album Artist | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `artist.asc`/<br>`artist.desc` | Sort by Artist | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `album.asc`/<br>`album.desc` | Sort by Album | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `year.asc`/<br>`year.desc` | Sort by Year | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `release.asc`/<br>`release.desc` | Sort by Release Date (Originally Available) | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `critic_rating.asc`/<br>`critic_rating.desc` | Sort by Critic Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating.asc`/<br>`audience_rating.desc` | Sort by Audience Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating.asc`/<br>`user_rating.desc` | Sort by User Rating | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating.asc`/<br>`content_rating.desc` | Sort by Content Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `duration.asc`/<br>`duration.desc` | Sort by Duration | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `progress.asc`/<br>`progress.desc` | Sort by Progress | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `played.asc`/<br>`played.desc` | Sort by Date Last Played | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `plays.asc`/<br>`plays.desc` | Sort by Number of Plays | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `unplayed.asc`/<br>`unplayed.desc` | Sort by Unplayed | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `episode_added.asc`/<br>`episode_added.desc` | Sort by Last Episode Date Added | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `added.asc`/<br>`added.desc` | Sort by Date Added | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `viewed.asc`/<br>`viewed.desc` | Sort by Date Last Viewed | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `rated.asc`/<br>`rated.desc` | Sort by Date Last Rated | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `popularity.asc`/<br>`popularity.desc` | Sort by Popularity | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `resolution.asc`/<br>`resolution.desc` | Sort by Resolution | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `bitrate.asc`/<br>`bitrate.desc` | Sort by Bitrate | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `random` | Sort by Random | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Sort Option | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Tracks |
|:-------------------------------------------------|:--------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `title.asc`/<br>`title.desc` | Sort by Title | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `season.asc`/<br>`season.desc` | Sort by Season | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| `show.asc`/<br>`show.desc` | Sort by Show | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `album_artist.asc`/<br>`album_artist.desc` | Sort by Album Artist | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `artist.asc`/<br>`artist.desc` | Sort by Artist | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `album.asc`/<br>`album.desc` | Sort by Album | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `year.asc`/<br>`year.desc` | Sort by Year | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `release.asc`/<br>`release.desc` | Sort by Release Date (Originally Available) | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `critic_rating.asc`/<br>`critic_rating.desc` | Sort by Critic Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating.asc`/<br>`audience_rating.desc` | Sort by Audience Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating.asc`/<br>`user_rating.desc` | Sort by User Rating | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating.asc`/<br>`content_rating.desc` | Sort by Content Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `duration.asc`/<br>`duration.desc` | Sort by Duration | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `progress.asc`/<br>`progress.desc` | Sort by Progress | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `played.asc`/<br>`played.desc` | Sort by Date Last Played | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `plays.asc`/<br>`plays.desc` | Sort by Number of Plays | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `unplayed.asc`/<br>`unplayed.desc` | Sort by Unplayed | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `episode_added.asc`/<br>`episode_added.desc` | Sort by Last Episode Date Added | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `added.asc`/<br>`added.desc` | Sort by Date Added | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `viewed.asc`/<br>`viewed.desc` | Sort by Date Last Viewed | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `rated.asc`/<br>`rated.desc` | Sort by Date Last Rated | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `popularity.asc`/<br>`popularity.desc` | Sort by Popularity | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `resolution.asc`/<br>`resolution.desc` | Sort by Resolution | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `bitrate.asc`/<br>`bitrate.desc` | Sort by Bitrate | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `random` | Sort by Random | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Searches
@ -112,26 +123,26 @@ String search can take multiple values **only as a list**.
### String Modifiers
| String Modifier | Description | Plex Web UI Display |
| :--- | :--- | :---: |
| No Modifier | Matches every item where the attribute contains the given string | `contains` |
| `.not` | Matches every item where the attribute does not contain the given string | `does not contain` |
| `.is` | Matches every item where the attribute exactly matches the given string | `is` |
| `.isnot` | Matches every item where the attribute does not exactly match the given string | `is not` |
| `.begins` | Matches every item where the attribute begins with the given string | `begins with` |
| `.ends` | Matches every item where the attribute ends with the given string | `ends with` |
| String Modifier | Description | Plex Web UI Display |
|:----------------|:-------------------------------------------------------------------------------|:-------------------:|
| No Modifier | Matches every item where the attribute contains the given string | `contains` |
| `.not` | Matches every item where the attribute does not contain the given string | `does not contain` |
| `.is` | Matches every item where the attribute exactly matches the given string | `is` |
| `.isnot` | Matches every item where the attribute does not exactly match the given string | `is not` |
| `.begins` | Matches every item where the attribute begins with the given string | `begins with` |
| `.ends` | Matches every item where the attribute ends with the given string | `ends with` |
### String Attributes
| String Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_title` | Uses the title attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `artist_title` | Uses the Artist's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_title` | Uses the Album's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_title` | Uses the Track's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_record_label` | Uses the Album's Record Label attribute to match | :x: | :x: | :heavy_check_mark: |
| String Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------|:---------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_title` | Uses the title attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `artist_title` | Uses the Artist's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_title` | Uses the Album's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_title` | Uses the Track's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_record_label` | Uses the Album's Record Label attribute to match | :x: | :x: | :heavy_check_mark: |
## Tag Searches
Tag searches can be used with either no modifier or with `.not` except for `decade` and `resolution` which can only be used with no modifier.
@ -140,46 +151,46 @@ Tag search can take multiple values as a **list or a comma-separated string**.
### Tag Modifiers
| Tag Modifier | Description | Plex Web UI Display |
| :--- | :--- | :---: |
| No Modifier | Matches every item where the attribute matches the given string | `is` |
| `.not` | Matches every item where the attribute does not match the given string | `is not` |
| Tag Modifier | Description | Plex Web UI Display |
|:-------------|:-----------------------------------------------------------------------|:-------------------:|
| No Modifier | Matches every item where the attribute matches the given string | `is` |
| `.not` | Matches every item where the attribute does not match the given string | `is not` |
### Tag Attributes
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: |
| `decade` | Uses the year tag to match the decade | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: |
| `resolution` | Uses the resolution tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the year tag to match | :x: | :heavy_check_mark: | :x: |
| `artist_genre` | Uses the Artist's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_collection` | Uses the Artist's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_country` | Uses the Artist's Country attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_mood` | Uses the Artist's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_style` | Uses the Artist's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_genre` | Uses the Album's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_mood` | Uses the Album's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_style` | Uses the Album's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_format` | Uses the Album's Format attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_type` | Uses the Album's Type attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_collection` | Uses the Album's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_source` | Uses the Album's Source attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_label` | Uses the Album's Label attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_mood` | Uses the Track's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_source` | Uses the Track's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:--------------------|:----------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: |
| `decade` | Uses the year tag to match the decade | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: |
| `resolution` | Uses the resolution tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the year tag to match | :x: | :heavy_check_mark: | :x: |
| `artist_genre` | Uses the Artist's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_collection` | Uses the Artist's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_country` | Uses the Artist's Country attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_mood` | Uses the Artist's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_style` | Uses the Artist's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_genre` | Uses the Album's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_mood` | Uses the Album's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_style` | Uses the Album's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_format` | Uses the Album's Format attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_type` | Uses the Album's Type attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_collection` | Uses the Album's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_source` | Uses the Album's Source attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_label` | Uses the Album's Label attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_mood` | Uses the Track's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_source` | Uses the Track's Style attribute to match | :x: | :x: | :heavy_check_mark: |
## Date Searches
Date searches can be used with either no modifier or with `.not`, `.before`, or `.after`.
@ -188,32 +199,32 @@ No date search can take multiple values.
### Date Modifiers
| Date Modifier | Description | Format | Plex Web UI Display |
| :--- | :--- | :---: | :---: |
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` | `is in the last` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` | `is not in the last` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is before` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is after` |
| Date Modifier | Description | Format | Plex Web UI Display |
|:--------------|:-------------------------------------------------------------------------|:-------------------------------------------:|:--------------------:|
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` | `is in the last` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` | `is not in the last` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is before` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is after` |
### Date Attributes
| Date Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_added` | Uses the date added attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_air_date` | Uses the air date attribute (originally available) of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_last_played` | Uses the date last played attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `artist_added` | Uses the Artist's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_last_played` | Uses the Artist's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_last_played` | Uses the Album's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_added` | Uses the Album's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_released` | Uses the Album's release date attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_played` | Uses the Track's date last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_skipped` | Uses the Track's date last skipped attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_rated` | Uses the Track's date last rated attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_added` | Uses the Track's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| Date Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:----------------------|:-----------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_added` | Uses the date added attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_air_date` | Uses the air date attribute (originally available) of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_last_played` | Uses the date last played attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `artist_added` | Uses the Artist's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_last_played` | Uses the Artist's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_last_played` | Uses the Album's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_added` | Uses the Album's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_released` | Uses the Album's release date attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_played` | Uses the Track's date last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_skipped` | Uses the Track's date last skipped attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_rated` | Uses the Track's date last rated attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_added` | Uses the Track's date added attribute to match | :x: | :x: | :heavy_check_mark: |
## Number Searches
Number searches must use `.gt`, `.gte`, `.lt`, or `.lte` as a modifier.
@ -222,57 +233,57 @@ No number search can take multiple values.
### Number Modifiers
| Number Modifier | Description | Format | Plex Web UI Display |
| :--- | :--- | :---: | :---: |
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is greater than` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is less than` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| Number Modifier | Description | Format | Plex Web UI Display |
|:----------------|:----------------------------------------------------------------------------------------------|:-------------------------------------------------:|:-------------------:|
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is greater than` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is less than` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
### Number Attributes
| Number Search | Description | Restrictions | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: | :---: |
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` | :heavy_check_mark: | :x: | :x: |
| `plays` | Uses the plays attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_plays` | Uses the Episode's plays attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `critic_rating` | Uses the critic rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `user_rating` | Uses the user rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match | `0.0` - `10.0` | :x: | :heavy_check_mark: | :x: |
| `year` | Uses the year attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the Episode's year attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `album_year` | Uses the Album's year attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_decade` | Uses the Album's decade attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_plays` | Uses the Album's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_plays` | Uses the Track's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_skips` | Uses the Track's skips attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `artist_user_rating` | Uses the Artist's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_user_rating` | Uses the Album's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_critic_rating` | Uses the Album's critic rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `track_user_rating` | Uses the Track's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| Number Search | Description | Restrictions | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:----------------------|:---------------------------------------------------------------|:--------------:|:------------------:|:------------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` | :heavy_check_mark: | :x: | :x: |
| `plays` | Uses the plays attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_plays` | Uses the Episode's plays attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `critic_rating` | Uses the critic rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `user_rating` | Uses the user rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match | `0.0` - `10.0` | :x: | :heavy_check_mark: | :x: |
| `year` | Uses the year attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the Episode's year attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `album_year` | Uses the Album's year attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_decade` | Uses the Album's decade attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_plays` | Uses the Album's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_plays` | Uses the Track's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_skips` | Uses the Track's skips attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `artist_user_rating` | Uses the Artist's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_user_rating` | Uses the Album's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_critic_rating` | Uses the Album's critic rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `track_user_rating` | Uses the Track's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
## Boolean Searches
Boolean Searches take no modifier and can only be either `true` or `false`.
### Boolean Attributes
| Boolean Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `hdr` | Is HDR | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unmatched` | Is Unmatched | :heavy_check_mark: | :x: | :x: |
| `duplicate` | Is Duplicate | :heavy_check_mark: | :x: | :x: |
| `unplayed` | Is Unplayed | :heavy_check_mark: | :x: | :x: |
| `progress` | Is In Progress | :heavy_check_mark: | :x: | :x: |
| `trash` | Is Trashed | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unplayed_episodes` | Has Unplayed Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_unplayed` | Has Episodes Unplayed | :x: | :heavy_check_mark: | :x: |
| `episode_duplicate` | Has Duplicate Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_progress` | Has Episode Progress | :x: | :heavy_check_mark: | :x: |
| `episode_unmatched` | Has Episodes Unmatched | :x: | :heavy_check_mark: | :x: |
| `artist_unmatched` | Is Artist's Unmatched | :x: | :x: | :heavy_check_mark: |
| `album_unmatched` | Is Album's Unmatched | :x: | :x: | :heavy_check_mark: |
| `track_trash` | Is Track Trashed | :x: | :x: | :heavy_check_mark: |
| Boolean Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:--------------------|:-----------------------|:------------------:|:------------------:|:------------------:|
| `hdr` | Is HDR | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unmatched` | Is Unmatched | :heavy_check_mark: | :x: | :x: |
| `duplicate` | Is Duplicate | :heavy_check_mark: | :x: | :x: |
| `unplayed` | Is Unplayed | :heavy_check_mark: | :x: | :x: |
| `progress` | Is In Progress | :heavy_check_mark: | :x: | :x: |
| `trash` | Is Trashed | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unplayed_episodes` | Has Unplayed Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_unplayed` | Has Episodes Unplayed | :x: | :heavy_check_mark: | :x: |
| `episode_duplicate` | Has Duplicate Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_progress` | Has Episode Progress | :x: | :heavy_check_mark: | :x: |
| `episode_unmatched` | Has Episodes Unmatched | :x: | :heavy_check_mark: | :x: |
| `artist_unmatched` | Is Artist's Unmatched | :x: | :x: | :heavy_check_mark: |
| `album_unmatched` | Is Album's Unmatched | :x: | :x: | :heavy_check_mark: |
| `track_trash` | Is Track Trashed | :x: | :x: | :heavy_check_mark: |
## Plex Search Examples

@ -20,20 +20,20 @@ radarr:
plex_path: /share/CACHEDEV1_DATA/Multimedia
```
| Name | Attribute | Allowed Values| Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Radarr URL | `url` | Radarr URL (Including URL Base if set)<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Radarr API Token | N/A | :heavy_check_mark: |
| Add | `add` | Add missing movies found to Radarr<br>**boolean:** true or false | false | :x: |
| Add Existing | `add_existing` | Add movie existing in this collection to Radarr<br>**boolean:** true or false | false | :x: |
| Root Folder Path | `root_folder_path` | Radarr Root Folder Path To Use | N/A | :heavy_check_mark: |
| Monitor | `monitor` | Monitor the added movie | true | :x: |
| Availability | `availability` | Minimum Availability of the Movie<br>**Options:** `announced`, `cinemas`, `released`, `db` | `announced` | :heavy_check_mark: |
| Quality Profile | `quality_profile` | Quality Profile To Use | N/A | :x: |
| Tag | `tag` | Add this list or comma-separated string of tags to every movie added to Radarr | ` ` | :x: |
| Search | `search` | Search when adding missing movies to Radarr<br>**boolean:** true or false | false | :x: |
| Plex Path | `plex_path` | When using `add_existing` or `radarr_add_all` Convert this part of the path to `radarr_path` | ` ` | :x: |
| Radarr Path | `radarr_path` | When using `add_existing` or `radarr_add_all` Convert the `plex_path` part of the path to this | ` ` | :x: |
| Name | Attribute | Allowed Values | Default | Required |
|:-----------------|:-------------------|:-----------------------------------------------------------------------------------------------|:-----------:|:------------------:|
| Radarr URL | `url` | Radarr URL (Including URL Base if set)<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Radarr API Token | N/A | :heavy_check_mark: |
| Add | `add` | Add missing movies found to Radarr<br>**boolean:** true or false | false | :x: |
| Add Existing | `add_existing` | Add movie existing in this collection to Radarr<br>**boolean:** true or false | false | :x: |
| Root Folder Path | `root_folder_path` | Radarr Root Folder Path To Use | N/A | :heavy_check_mark: |
| Monitor | `monitor` | Monitor the added movie | true | :x: |
| Availability | `availability` | Minimum Availability of the Movie<br>**Options:** `announced`, `cinemas`, `released`, `db` | `announced` | :heavy_check_mark: |
| Quality Profile | `quality_profile` | Quality Profile To Use | N/A | :x: |
| Tag | `tag` | Add this list or comma-separated string of tags to every movie added to Radarr | ` ` | :x: |
| Search | `search` | Search when adding missing movies to Radarr<br>**boolean:** true or false | false | :x: |
| Plex Path | `plex_path` | When using `add_existing` or `radarr_add_all` Convert this part of the path to `radarr_path` | ` ` | :x: |
| Radarr Path | `radarr_path` | When using `add_existing` or `radarr_add_all` Convert the `plex_path` part of the path to this | ` ` | :x: |
* The `token` can be found by going to `Radarr > Settings > General > Security > API Key`

@ -1,22 +1,23 @@
| Name | Shell Command | Environmental<br>Variable | Allowed Values | Default Value |
| :--- | :--- | :--- | :--- | :--- |
| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | Path to YAML config file | `config/config.yml` alongside<br>`plex_meta_manager.py` |
| [Time to Run](#time-to-run) | `-t` or `--time` | `PMM_TIME` | comma-separated list of times to update each day<br>**Format:** HH:MM | `03:00` |
| [Run](#run) | `-r` or `--run` | `PMM_RUN` | Run without the scheduler | `False` |
| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TEST` | Run in debug mode with only collections that have `test: true` | `False` |
| [Run Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | Process only collections during the run | `False` |
| [Run Libraries Only](#libraries-only) | `-lo` or `--libraries-only` | `PMM_LIBRARIES_ONLY` | Process everything but collections during the run | `False` |
| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_COLLECTIONS` | comma-separated list of collection names to process | All Collections |
| [Run Libraries](#run-libraries) | `-rl` or `--run-libraries` | `PMM_LIBRARIES` | comma-separated list of library names to process | All libraries |
| [Run Libraries First](#run-libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | Run library operations first before collections during the run | `False` |
| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | Ignore all schedules during the run except for range schedules | `False` |
| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | Delete all collections in a Library before a run | `False` |
| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | Name of the Collection you want to resume the run at | ` ` |
| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | Run without displaying the countdown | `False` |
| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | Run without any of the missing movie/show functions | `False` |
| [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` | Run without writing to the config | `False` |
| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | Character that divides the sections | `=` |
| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | Integer between 90 and 300 | `100` |
| Name | Shell Command | Environmental<br>Variable | Allowed Values | Default Value |
|:------------------------------------------------------|:-----------------------------------|:--------------------------|:----------------------------------------------------------------------|:--------------------------------------------------------|
| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | Path to YAML config file | `config/config.yml` alongside<br>`plex_meta_manager.py` |
| [Time to Run](#time-to-run) | `-t` or `--time` | `PMM_TIME` | comma-separated list of times to update each day<br>**Format:** HH:MM | `03:00` |
| [Run](#run) | `-r` or `--run` | `PMM_RUN` | Run without the scheduler | `False` |
| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TEST` | Run in debug mode with only collections that have `test: true` | `False` |
| [Run Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | Process only collections during the run | `False` |
| [Run Libraries Only](#libraries-only) | `-lo` or `--libraries-only` | `PMM_LIBRARIES_ONLY` | Process everything but collections during the run | `False` |
| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_COLLECTIONS` | comma-separated list of collection names to process | All Collections |
| [Run Libraries](#run-libraries) | `-rl` or `--run-libraries` | `PMM_LIBRARIES` | comma-separated list of library names to process | All Libraries |
| [Run Metadata Files](#run-metadata-files) | `-rm` or `--run-metadata-files` | `PMM_METADATA_FILES` | comma-separated list of metadata file names to process | All Metadata Files |
| [Run Libraries First](#run-libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | Run library operations first before collections during the run | `False` |
| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | Ignore all schedules during the run except for range schedules | `False` |
| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | Delete all collections in a Library before a run | `False` |
| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | Name of the Collection you want to resume the run at | ` ` |
| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | Run without displaying the countdown | `False` |
| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | Run without any of the missing movie/show functions | `False` |
| [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` | Run without writing to the config | `False` |
| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | Character that divides the sections | `=` |
| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | Integer between 90 and 300 | `100` |
* Environmental Variable values are used over Shell Command values
@ -180,6 +181,28 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
</details>
### Run Metadata Files
To have the script run only the Metadata File Names in the comma-separated list use the `--run-metadata-files` option.
<details>
<summary>Local</summary>
```shell
python plex_meta_manager.py --run-metadata-files "Movies"
```
</details>
<details>
<summary>Docker</summary>
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-metadata-files "Movies"
```
</details>
* This works for all different metadata paths i.e. `git`, `url`, `file`, or `repo`.
### Run Libraries First
To have the script run library operations first before collections during the run use the `--libraries-first` option.

@ -39,15 +39,15 @@ collections:
The scheduling options are:
| Name | Description | Format | Example |
| :--- | :--- | :--- | :--- |
| Hourly | Update only when the script is run in that hour | hourly(Hour of Day) | `hourly(17)` |
| Daily | Update once a day | daily | `daily` |
| Weekly | Update once a week on the specified day | weekly(Day of Week) | `weekly(sunday)` |
| Monthly | Update once a month on the specified day | monthly(Day of Month) | `monthly(1)` |
| Yearly | Update once a year on the specified day | yearly(MM/DD) | `yearly(01/30)` |
| Range | Updates whenever the date is within the range | range(MM/DD-MM/DD) | `range(12/01-12/31)` |
| Never | Never updates | never | `never` |
| Name | Description | Format | Example |
|:--------|:------------------------------------------------|:----------------------|:---------------------|
| Hourly | Update only when the script is run in that hour | hourly(Hour of Day) | `hourly(17)` |
| Daily | Update once a day | daily | `daily` |
| Weekly | Update once a week on the specified day | weekly(Day of Week) | `weekly(sunday)` |
| Monthly | Update once a month on the specified day | monthly(Day of Month) | `monthly(1)` |
| Yearly | Update once a year on the specified day | yearly(MM/DD) | `yearly(01/30)` |
| Range | Updates whenever the date is within the range | range(MM/DD-MM/DD) | `range(12/01-12/31)` |
| Never | Never updates | never | `never` |
* `daily` is the default when `schedule` isn't specified.
* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#time-to-run).

@ -39,11 +39,11 @@ 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 |
| 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 |

@ -1,27 +1,28 @@
All the following attributes serve various functions as how the collection/playlist functions inside of Plex Meta Manager.
| Name | Attribute | Description | Allowed Values | Works with Playlists |
| :--- | :--- | :--- | :--- | :---: |
| Collection/Playlist Name | `name` | Used to specify the name off the collection/playlist in Plex as different then the mapping name. | Any String | :heavy_check_mark: |
| Template | `template` | Used to specify a template and template variables to use for this collection/playlist. | [`template` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | :heavy_check_mark: |
| Run Again | `run_again` | Used to try and add all the missing items to the collection/playlist again after the daily run <br>**Default Mode:** `false`| **boolean:** `true` or `false` | :heavy_check_mark: |
| Sync Mode | `sync_mode` | Used to change how builders sync with this collection/playlist<br>**Default Mode:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | `append`: Only Add Items to the Collection<br>`sync`: Add & Remove Items from the Collection | :heavy_check_mark: |
| Minimum Items | `minimum_items` | Minimum items that must be found to add to a collection/playlist.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | number greater then 0 | :heavy_check_mark: |
| Delete Below Minimum | `delete_below_minimum` | Deletes the collection/playlist if below the minimum.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Delete Not Scheduled | `delete_not_scheduled` | Deletes the collection/playlist if its skipped because its not scheduled.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Validate Builders | `validate_builders` | When set to false the collection/playlist will not fail if one builder fails<br>**Default Mode:** `true` | **boolean:** `true` or `false` | :heavy_check_mark: |
| Build Collection | `build_collection` | When set to false the collection won't be created but items can still be added to Radarr/Sonarr<br>**Default Mode:** `true` | **boolean:** `true` or `false` | :x: |
| Server Pre-Roll | `server_preroll` | Used to set the `Movie pre-roll video` Text box in Plex under Settings -> Extras | Any String | :heavy_check_mark: |
| Missing Only Released | `missing_only_released` | Collection/Playlist Level `missing_only_released` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Only Filter Missing | `only_filter_missing` | Collection/Playlist Level `only_filter_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Show Filtered Items | `show_filtered` | Collection/Playlist level `show_filtered` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Show Missing Items | `show_missing` | Collection/Playlist level `show_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Save Missing Items | `save_missing` | Collection/Playlist level `save_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Ignore IDs | `ignore_ids` | Collection/Playlist level `ignore_ids` which is combined with the library and global `ignore_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of TMDb/TVDb IDs | :heavy_check_mark: |
| Ignore IMDb IDs | `ignore_imdb_ids` | Collection/Playlist level `ignore_imdb_ids` which is combined with the library and global `ignore_imdb_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of IMDb IDs | :heavy_check_mark: |
| 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 | :heavy_check_mark: |
| Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#run-tests)) only collections/playlists with `test: true` will be run<br>**Default:** `false` | **boolean:** `true` or `false` | :heavy_check_mark: |
| Changes Webhooks | `changes_webhooks` | Used to specify a collection/playlist changes webhook for just this collection/playlist. | List of webhooks | :heavy_check_mark: |
| Name | Attribute | Description | Allowed Values | Works with Playlists |
|:-------------------------|:------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------|:--------------------:|
| Collection/Playlist Name | `name` | Used to specify the name off the collection/playlist in Plex as different then the mapping name. | Any String | :heavy_check_mark: |
| Template | `template` | Used to specify a template and template variables to use for this collection/playlist. | [`template` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Templates) | :heavy_check_mark: |
| Run Again | `run_again` | Used to try and add all the missing items to the collection/playlist again after the daily run <br>**Default Mode:** `false` | **boolean:** `true` or `false` | :heavy_check_mark: |
| Sync Mode | `sync_mode` | Used to change how builders sync with this collection/playlist<br>**Default Mode:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | `append`: Only Add Items to the Collection<br>`sync`: Add & Remove Items from the Collection | :heavy_check_mark: |
| Minimum Items | `minimum_items` | Minimum items that must be found to add to a collection/playlist.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | number greater then 0 | :heavy_check_mark: |
| Delete Below Minimum | `delete_below_minimum` | Deletes the collection/playlist if below the minimum.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Delete Not Scheduled | `delete_not_scheduled` | Deletes the collection/playlist if its skipped because its not scheduled.<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Validate Builders | `validate_builders` | When set to false the collection/playlist will not fail if one builder fails<br>**Default Mode:** `true` | **boolean:** `true` or `false` | :heavy_check_mark: |
| Build Collection | `build_collection` | When set to false the collection won't be created but items can still be added to Radarr/Sonarr<br>**Default Mode:** `true` | **boolean:** `true` or `false` | :x: |
| Server Pre-Roll | `server_preroll` | Used to set the `Movie pre-roll video` Text box in Plex under Settings -> Extras | Any String | :heavy_check_mark: |
| Missing Only Released | `missing_only_released` | Collection/Playlist Level `missing_only_released` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Only Filter Missing | `only_filter_missing` | Collection/Playlist Level `only_filter_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Show Filtered Items | `show_filtered` | Collection/Playlist level `show_filtered` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Show Missing Items | `show_missing` | Collection/Playlist level `show_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Save Missing Items | `save_missing` | Collection/Playlist level `save_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` | :heavy_check_mark: |
| Ignore IDs | `ignore_ids` | Collection/Playlist level `ignore_ids` which is combined with the library and global `ignore_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of TMDb/TVDb IDs | :heavy_check_mark: |
| Ignore IMDb IDs | `ignore_imdb_ids` | Collection/Playlist level `ignore_imdb_ids` which is combined with the library and global `ignore_imdb_ids`<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | List or comma-separated String of IMDb IDs | :heavy_check_mark: |
| Custom Repo | `custom_repo` | Defines the custom repo you use with the `repo` attribute when defining metadata_paths and playlist_files<br>**Default:** Nothing | Repo Location | :heavy_check_mark: |
| 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 | :heavy_check_mark: |
| Test Mode | `test` | When running in Test Mode (`--run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#run-tests)) only collections/playlists with `test: true` will be run<br>**Default:** `false` | **boolean:** `true` or `false` | :heavy_check_mark: |
| Changes Webhooks | `changes_webhooks` | Used to specify a collection/playlist changes webhook for just this collection/playlist. | List of webhooks | :heavy_check_mark: |
* **Name Mapping:** If your collection/playlist 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.
* **Server Pre-Roll:** You can run this with a [schedule](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) to change the pre-rolls automatically.

@ -14,6 +14,8 @@ settings:
dimensional_asset_rename: false
download_url_assets: false
show_missing_season_assets: false
show_missing_episode_assets: false
show_asset_not_needed: true
sync_mode: append
collection_minimum: 1
delete_below_minimum: true
@ -30,41 +32,45 @@ settings:
tvdb_language: eng
ignore_ids:
ignore_imdb_ids:
item_refresh_delay: 0
playlist_sync_to_users: all
verify_ssl: true
```
| Name | Attribute | Allowed Values | Global Level | Library Level | Collection/Playlist Level |
|:----------------------------------------------------------|:-----------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:-------------------------:|
| [Cache](#cache) | `cache` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :x: | :x: |
| [Cache Expiration](#cache) | `cache_expiration` | **integer**<br>**default: 60** | :heavy_check_mark: | :x: | :x: |
| [Image Asset Directory](Image-Asset-Directory) | `asset_directory` | **list of paths**<br>**default: [Directory containing YAML config]/assets** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Image Asset Folders](#image-asset-folders) | `asset_folders` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Asset Depth](#asset-depth) | `asset_depth` | **integer**<br>**default: 0** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Create Asset Folders](#create-asset-folders) | `create_asset_folders` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Dimensional Asset Rename](#dimensional-asset-rename) | `dimensional_asset_rename` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Download URL Assets](#download-url-assets) | `download_url_assets` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Missing Season Assets](#show-missing-season-assets) | `show_missing_season_assets` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Sync Mode](#sync-mode) | `sync_mode` | `append` or `sync`<br>**default: append** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Default Collection Order](#default-collection-order) | `default_collection_order` | `release`: Order Collection by Release Dates<br>`alpha`: Order Collection Alphabetically<br>`custom`: Order Collection Via the Builder Order<br>[Any `plex_search` Sort Option](Plex-Builders#sort-options) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Minimum Items](#minimum-items) | `minimum_items` | **integer**<br>**default: 1** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Delete Below Minimum](#delete-below-minimum) | `delete_below_minimum` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Delete Not Scheduled](#delete-not-scheduled ) | `delete_not_scheduled ` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Run Again Delay](#run-again-delay) | `run_again_delay` | **integer**<br>**default: 0** | :heavy_check_mark: | :x: | :x: |
| [Missing Only Released](#missing-only-released) | `missing_only_released` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Only Filter Missing](#only-filter-missing) | `only_filter_missing` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Unmanaged Collections](#show-unmanaged-collections) | `show_unmanaged` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Filtered](#show-filtered) | `show_filtered` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Options](#show-options) | `show_options` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Missing](#show-missing) | `show_missing` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Missing Assets](#show-missing-assets) | `show_missing_assets` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Save Missing](#save-missing) | `save_missing` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb Language](#tvdb-language) | `tvdb_language` | [ISO 639-2 Language Code](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) or Blank for original Language<br>**default:** | :heavy_check_mark: | :x: | :x: |
| [Ignore IDs](#ignore-ids) | `ignore_ids` | List or comma-separated String of TMDb/TVDb IDs | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Ignore IMDb IDs](#ignore-imdb-ids) | `ignore_imdb_ids` | List or comma-separated String of IMDb IDs | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Playlist Sync to Users](#playlist-sync-to-users) | `playlist_sync_to_users` | `all` or List or comma-separated String of Users to sync the playlist to.<br>**default: `all`** | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [Verify SSL](#verify-ssl) | `verify_ssl` | Turn SSL Verification on or off. | :heavy_check_mark: | :x: | :x: |
| [Missing Path](#missing-path) | `missing_path` | Path to missing YAML file for the library | :x: | :heavy_check_mark: | :x: |
| Name | Attribute | Allowed Values | Global Level | Library Level | Collection/Playlist Level |
|:------------------------------------------------------------|:------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:-------------------------:|
| [Cache](#cache) | `cache` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :x: | :x: |
| [Cache Expiration](#cache) | `cache_expiration` | **integer**<br>**default: 60** | :heavy_check_mark: | :x: | :x: |
| [Image Asset Directory](Image-Asset-Directory) | `asset_directory` | **list of paths**<br>**default: [Directory containing YAML config]/assets** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Image Asset Folders](#image-asset-folders) | `asset_folders` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Asset Depth](#asset-depth) | `asset_depth` | **integer**<br>**default: 0** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Create Asset Folders](#create-asset-folders) | `create_asset_folders` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Dimensional Asset Rename](#dimensional-asset-rename) | `dimensional_asset_rename` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Download URL Assets](#download-url-assets) | `download_url_assets` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Missing Season Assets](#show-missing-season-assets) | `show_missing_season_assets` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Missing Episode Assets](#show-missing-episode-assets) | `show_missing_episode_assets` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Asset Not Needed](#show-asset-not-needed) | `show_asset_not_needed` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Sync Mode](#sync-mode) | `sync_mode` | `append` or `sync`<br>**default: append** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Default Collection Order](#default-collection-order) | `default_collection_order` | `release`: Order Collection by Release Dates<br>`alpha`: Order Collection Alphabetically<br>`custom`: Order Collection Via the Builder Order<br>[Any `plex_search` Sort Option](Plex-Builders#sort-options) | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Minimum Items](#minimum-items) | `minimum_items` | **integer**<br>**default: 1** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Delete Below Minimum](#delete-below-minimum) | `delete_below_minimum` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Delete Not Scheduled](#delete-not-scheduled ) | `delete_not_scheduled ` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Run Again Delay](#run-again-delay) | `run_again_delay` | **integer**<br>**default: 0** | :heavy_check_mark: | :x: | :x: |
| [Missing Only Released](#missing-only-released) | `missing_only_released` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Only Filter Missing](#only-filter-missing) | `only_filter_missing` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Unmanaged Collections](#show-unmanaged-collections) | `show_unmanaged` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [Show Filtered](#show-filtered) | `show_filtered` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Options](#show-options) | `show_options` | **boolean:** true or false<br>**default: false** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Missing](#show-missing) | `show_missing` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Show Missing Assets](#show-missing-assets) | `show_missing_assets` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Save Missing](#save-missing) | `save_missing` | **boolean:** true or false<br>**default: true** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb Language](#tvdb-language) | `tvdb_language` | [ISO 639-2 Language Code](https://en.wikipedia.org/wiki/List_of_ISO_639-2_codes) or Blank for original Language<br>**default:** | :heavy_check_mark: | :x: | :x: |
| [Ignore IDs](#ignore-ids) | `ignore_ids` | List or comma-separated String of TMDb/TVDb IDs | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Ignore IMDb IDs](#ignore-imdb-ids) | `ignore_imdb_ids` | List or comma-separated String of IMDb IDs | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Item Refresh Delay](#item-refresh-delay) | `item_refresh_delay` | Amount of time to wait between each `item_refresh` of every movie/show a collection/playlist **integer**<br>**default: 0** | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Playlist Sync to Users](#playlist-sync-to-users) | `playlist_sync_to_users` | `all` or List or comma-separated String of Users to sync the playlist to.<br>**default: `all`** | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [Verify SSL](#verify-ssl) | `verify_ssl` | Turn SSL Verification on or off. | :heavy_check_mark: | :x: | :x: |
| [Missing Path](#missing-path) | `missing_path` | Path to missing YAML file for the library | :x: | :heavy_check_mark: | :x: |
## Cache
Will use a cached database for faster processing. The cache file is created in the same location as your config file.
@ -89,6 +95,12 @@ When using `download_url_assets` if you are using `url_poster` or `url_backgroun
## Show Missing Season Assets
When searching for assets for a show if a Season poster is found then this will display all other missing Season posters.
## Show Missing Episode Assets
When searching for assets for a show if an Episode Title Card is found then this will display all other missing Episode Title Cards.
## Show Asset Not Needed
When searching for assets show or hide the `update not needed` Messages.
## Sync Mode
Set the default `sync_mode`. It can be either `append` when you want to add only and `sync` when you want to add and remove from collections.
@ -149,6 +161,9 @@ List or comma-separated String of TMDb/TVDb IDs to ignore in all collections
## Ignore IMDb IDs
List or comma-separated String of IMDb IDs to ignore in all collections
## Item Refresh Delay
Amount of time to wait between each `item_refresh` of every movie/show a collection/playlist.
## Playlist Sync to Users
`all` or List or comma-separated String of Users to sync the playlist to in addition to yourself. To Sync a playlist to only yourself leave `playlist_sync_to_users` blank. Defaults to `all`.

@ -1,159 +0,0 @@
You can have the script edit the metadata of Shows, Seasons, and Episodes by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a show library is below:
```yaml
metadata:
"Avatar: The Last Airbender":
sort_title: Avatar 01
seasons:
1:
title: "Book One: Water"
summary: >-
After a lapse of 100 years, the Avatar-spiritual master of the elements-has returned. And just in
the nick of time. The Four Nations (Water, Earth, Fire, and Air) have become unbalanced. The Fire
Nation wants to rule the world, and its first conquest will be the Northern Water Tribe. It's up to
a 12-year-old Airbender named Aang to find a way to stop it. Join Aang, Katara, Sokka, Momo, and
Appa as they head north on the adventure of a lifetime.
episodes:
1:
rating: 9.1
2:
title: "Book Two: Earth"
summary: >-
Avatar Aang continues his quest to master the four elements before the end of summer. Together with
Katara, Sokka, Momo, and Appa, he journeys across the Earth Kingdom in search of an Earthbending
mentor. Along the way, he confronts Princess Azula, treacherous daughter of Firelord Ozai and
sister to Prince Zuko. More powerful than her brother, Azula will stop nothing to defeat the Avatar.
But Aang and the gang find plenty of Earth Kingdom allies to help them along the way. From the swamps
of the South to the Earth King's palace, Avatar: Book 2 is an adventure like no other.
3:
title: "Book Three: Fire"
summary: >-
Having survived the terrible battle with Azula, Aang faces new challenges as he and his brave
friends secretly enter the Fire Nation. Their quest is to find and defeat Firelord Ozai. Along
the way, they discover that Ozai has plans of his own. The leader of the Fire Nation intends to
use the massive power of Sozin's comet to spread his dominion permanently across the four nations.
Short on time, Aang has a lot of bending to learn and no master to help him learn it. However, his
friends are there to help, and he finds unexpected allies deep in the heart of the Fire Nation. In
the spectacular four-part conclusion, Aang must fulfill his destiny and become a fully realized
Avatar, or watch the world go up in smoke.
episodes:
21:
summary: The Epic Series Final of Avatar The Last Airbender
"Avatar: The Legend of Korra":
sort_title: Avatar 02
alt_title: The Legend of Korra
original_title: The Legend of Korra
seasons:
1:
title: "Book One: Air"
2:
title: "Book Two: Spirits"
3:
title: "Book Three: Change"
4:
title: "Book Four: Balance"
```
## Shows
Each show is defined by the mapping name which must be the same as the show name in the library unless an `alt_title` is specified.
### Seasons
To edit the metadata of a particular Season in a Show use the `seasons` attribute on its show.
The mapping name is the season number (use 0 for specials) or the season name.
### Episodes
To edit the metadata of a particular Episode in a Season use the `episodes` attribute on its season.
The mapping name is the episode number in that season or the title of the episode.
## Metadata Edits
The available attributes for editing shows, seasons, and episodes are as follows
### Special Attributes
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
| :--- | :--- | :--- | :---: | :---: | :---: |
| Title | `title` | Title if different from the mapping value useful when you have multiple shows with the same name | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :x: | :x: |
| Year | `year` | Year of show for better identification | :heavy_check_mark: | :x: | :x: |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie | :heavy_check_mark: | :x: | :x: |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments | :heavy_check_mark: | :x: | :x: |
| Seasons | `seasons` | Mapping to define Seasons | :heavy_check_mark: | :x: | :x: |
| Episodes | `episodes` | Mapping to define Episodes | :x: | :heavy_check_mark: | :x: |
* YAML files cannot have two items with the same mapping name so if you have two shows with the same name you would change the mapping values to whatever you want. Then use the `title` attribute to specify the real title and use the `year` attribute to specify which of the multiple shows to choose.
```yaml
metadata:
Godzilla1:
title: Godzilla
year: 1954
content_rating: R
Godzilla2:
title: Godzilla
year: 1998
content_rating: PG-13
```
* If you know of another Title your show might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example TMDb uses the name `The Legend of Korra`, but I want it as `Avatar: The Legend of Korra` (Which must be surrounded by quotes since it uses the character `:`):
```yaml
metadata:
"Avatar: The Legend of Korra":
alt_title: The Legend of Korra
```
This would change the name of the TMDb default `The Legend of Korra` to `Avatar: The Legend of Korra` and would not mess up any subsequent runs.
### General Attributes
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
| :--- | :--- | :--- | :---: | :---: | :---: |
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Original Title | `original_title` | Text to change Original Title | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Content Rating | `content_rating` | Text to change Content Rating | :heavy_check_mark: | :x: | :x: |
| Rating | `rating` | Number to change Rating | :heavy_check_mark:| :x: | :heavy_check_mark: |
| Studio | `studio` | Text to change Studio | :heavy_check_mark: | :x: | :x: |
| Tagline | `tagline` | Text to change Tagline | :heavy_check_mark:| :x: | :x: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
| :--- | :--- | :--- | :---: | :---: | :---: |
| Director | `director` | List or comma-separated text of each Director Tag | :x: | :x: | :heavy_check_mark: |
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :x: | :x: |
| Writer | `writer` | List or comma-separated text of each Writer Tag | :x: | :x: | :heavy_check_mark: |
| Collection | `collection` | List or comma-separated text of each Collection Tag | :heavy_check_mark: | :x: | :x: |
| Label | `label` | List or comma-separated text of each Label Tag | :heavy_check_mark: | :x: | :x: |
## Image Attributes
| Name | Attribute | Description | Allowed Values | Shows | Seasons | Episodes |
| :--- | :--- | :--- | :--- | :---: | :---: | :---: |
| URL Poster | `url_poster` | Used to change the show's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| File Poster | `file_poster` | Used to change the show's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| URL Background | `url_background` | Use to change the show's background to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Background | `file_background` | Used to change the show's background to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
### Advance Attributes
All these attributes only work with Shows.
| Name | Attribute | Allowed Values |
| :--- | :--- | :--- |
| Episode Sorting | `episode_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first |
| Keep Episodes | `keep_episodes` | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days |
| Delete Episodes | `delete_episodes` | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh |
| Season Display | `season_display` | `default`: Library default<br>`show`: Show<br>`hide`: Hide |
| Episode Ordering | `episode_ordering` | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) |
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes |
\* Must be using the **New Plex TV Agent**

@ -25,42 +25,42 @@ There are a couple other attributes you can have at the top level only along wit
## Special Attributes
| Special Option | Attribute | Description | Default |
| :--- | :--- | :--- | :---: |
| Type | `type` | The Type of items inside this collection/playlist<br>**Options**: `movies`, `shows`, `seasons`, `episodes`, `artists`, `albums`, or `tracks` | `movies` for Movies Libraries, `shows` for Show Libraries, and `artists` for Music Libraries |
| Limit | `limit` | The max number of item for the filter | all |
| Sort By | `sort_by` | This will control how the filter is sorted in your library. You can use any sort options for your filter type in the [Sorts Options Table](#sort-options) | `random` |
| Validate | `validate` | Determines if a collection/playlist will fail on a validation error<br>**Options**: `true` or `false` | `true` |
| Special Option | Attribute | Description | Default |
|:---------------|:-----------|:----------------------------------------------------------------------------------------------------------------------------------------------------------|:---------------------------------------------------------------------------------------------:|
| Type | `type` | The Type of items inside this collection/playlist<br>**Options**: `movies`, `shows`, `seasons`, `episodes`, `artists`, `albums`, or `tracks` | `movies` for Movies Libraries, `shows` for Show Libraries, and `artists` for Music Libraries |
| Limit | `limit` | The max number of item for the filter | all |
| Sort By | `sort_by` | This will control how the filter is sorted in your library. You can use any sort options for your filter type in the [Sorts Options Table](#sort-options) | `random` |
| Validate | `validate` | Determines if a collection/playlist will fail on a validation error<br>**Options**: `true` or `false` | `true` |
## Sort Options
| Sort Option | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Tracks |
| :--- | :--- | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| `title.asc`/<br>`title.desc` | Sort by Title | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `season.asc`/<br>`season.desc` | Sort by Season | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| `show.asc`/<br>`show.desc` | Sort by Show | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `album_artist.asc`/<br>`album_artist.desc` | Sort by Album Artist | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `artist.asc`/<br>`artist.desc` | Sort by Artist | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `album.asc`/<br>`album.desc` | Sort by Album | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `year.asc`/<br>`year.desc` | Sort by Year | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `release.asc`/<br>`release.desc` | Sort by Release Date (Originally Available) | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `critic_rating.asc`/<br>`critic_rating.desc` | Sort by Critic Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating.asc`/<br>`audience_rating.desc` | Sort by Audience Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating.asc`/<br>`user_rating.desc` | Sort by User Rating | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating.asc`/<br>`content_rating.desc` | Sort by Content Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `duration.asc`/<br>`duration.desc` | Sort by Duration | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `progress.asc`/<br>`progress.desc` | Sort by Progress | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `played.asc`/<br>`played.desc` | Sort by Date Last Played | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `plays.asc`/<br>`plays.desc` | Sort by Number of Plays | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `unplayed.asc`/<br>`unplayed.desc` | Sort by Unplayed | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `episode_added.asc`/<br>`episode_added.desc` | Sort by Last Episode Date Added | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `added.asc`/<br>`added.desc` | Sort by Date Added | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `viewed.asc`/<br>`viewed.desc` | Sort by Date Last Viewed | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `rated.asc`/<br>`rated.desc` | Sort by Date Last Rated | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `popularity.asc`/<br>`popularity.desc` | Sort by Popularity | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `resolution.asc`/<br>`resolution.desc` | Sort by Resolution | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `bitrate.asc`/<br>`bitrate.desc` | Sort by Bitrate | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `random` | Sort by Random | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Sort Option | Description | Movies | Shows | Seasons | Episodes | Artists | Albums | Tracks |
|:-------------------------------------------------|:--------------------------------------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|:------------------:|
| `title.asc`/<br>`title.desc` | Sort by Title | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `season.asc`/<br>`season.desc` | Sort by Season | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: |
| `show.asc`/<br>`show.desc` | Sort by Show | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `album_artist.asc`/<br>`album_artist.desc` | Sort by Album Artist | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: |
| `artist.asc`/<br>`artist.desc` | Sort by Artist | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `album.asc`/<br>`album.desc` | Sort by Album | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `year.asc`/<br>`year.desc` | Sort by Year | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `release.asc`/<br>`release.desc` | Sort by Release Date (Originally Available) | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `critic_rating.asc`/<br>`critic_rating.desc` | Sort by Critic Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: |
| `audience_rating.asc`/<br>`audience_rating.desc` | Sort by Audience Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `user_rating.asc`/<br>`user_rating.desc` | Sort by User Rating | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `content_rating.asc`/<br>`content_rating.desc` | Sort by Content Rating | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `duration.asc`/<br>`duration.desc` | Sort by Duration | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `progress.asc`/<br>`progress.desc` | Sort by Progress | :x: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `played.asc`/<br>`played.desc` | Sort by Date Last Played | :x: | :x: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `plays.asc`/<br>`plays.desc` | Sort by Number of Plays | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `unplayed.asc`/<br>`unplayed.desc` | Sort by Unplayed | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `episode_added.asc`/<br>`episode_added.desc` | Sort by Last Episode Date Added | :x: | :heavy_check_mark: | :x: | :x: | :x: | :x: | :x: |
| `added.asc`/<br>`added.desc` | Sort by Date Added | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| `viewed.asc`/<br>`viewed.desc` | Sort by Date Last Viewed | :heavy_check_mark: | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `rated.asc`/<br>`rated.desc` | Sort by Date Last Rated | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `popularity.asc`/<br>`popularity.desc` | Sort by Popularity | :x: | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `resolution.asc`/<br>`resolution.desc` | Sort by Resolution | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :x: |
| `bitrate.asc`/<br>`bitrate.desc` | Sort by Bitrate | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
| `random` | Sort by Random | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Filters
@ -73,26 +73,26 @@ String filter can take multiple values **only as a list**.
### String Modifiers
| String Modifier | Description | Plex Web UI Display |
| :--- | :--- | :---: |
| No Modifier | Matches every item where the attribute contains the given string | `contains` |
| `.not` | Matches every item where the attribute does not contain the given string | `does not contain` |
| `.is` | Matches every item where the attribute exactly matches the given string | `is` |
| `.isnot` | Matches every item where the attribute does not exactly match the given string | `is not` |
| `.begins` | Matches every item where the attribute begins with the given string | `begins with` |
| `.ends` | Matches every item where the attribute ends with the given string | `ends with` |
| String Modifier | Description | Plex Web UI Display |
|:----------------|:-------------------------------------------------------------------------------|:-------------------:|
| No Modifier | Matches every item where the attribute contains the given string | `contains` |
| `.not` | Matches every item where the attribute does not contain the given string | `does not contain` |
| `.is` | Matches every item where the attribute exactly matches the given string | `is` |
| `.isnot` | Matches every item where the attribute does not exactly match the given string | `is not` |
| `.begins` | Matches every item where the attribute begins with the given string | `begins with` |
| `.ends` | Matches every item where the attribute ends with the given string | `ends with` |
### String Attributes
| String Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_title` | Uses the title attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `artist_title` | Uses the Artist's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_title` | Uses the Album's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_title` | Uses the Track's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_record_label` | Uses the Album's Record Label attribute to match | :x: | :x: | :heavy_check_mark: |
| String Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:---------------------|:---------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `title` | Uses the title attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_title` | Uses the title attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `studio` | Uses the studio attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `artist_title` | Uses the Artist's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_title` | Uses the Album's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_title` | Uses the Track's Title attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_record_label` | Uses the Album's Record Label attribute to match | :x: | :x: | :heavy_check_mark: |
## Tag Filters
Tag filters can be used with either no modifier or with `.not` except for `decade` and `resolution` which can only be used with no modifier.
@ -101,46 +101,46 @@ Tag filter can take multiple values as a **list or a comma-separated string**.
### Tag Modifiers
| Tag Modifier | Description | Plex Web UI Display |
| :--- | :--- | :---: |
| No Modifier | Matches every item where the attribute matches the given string | `is` |
| `.not` | Matches every item where the attribute does not match the given string | `is not` |
| Tag Modifier | Description | Plex Web UI Display |
|:-------------|:-----------------------------------------------------------------------|:-------------------:|
| No Modifier | Matches every item where the attribute matches the given string | `is` |
| `.not` | Matches every item where the attribute does not match the given string | `is not` |
### Tag Attributes
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: |
| `decade` | Uses the year tag to match the decade | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: |
| `resolution` | Uses the resolution tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the year tag to match | :x: | :heavy_check_mark: | :x: |
| `artist_genre` | Uses the Artist's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_collection` | Uses the Artist's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_country` | Uses the Artist's Country attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_mood` | Uses the Artist's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_style` | Uses the Artist's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_genre` | Uses the Album's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_mood` | Uses the Album's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_style` | Uses the Album's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_format` | Uses the Album's Format attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_type` | Uses the Album's Type attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_collection` | Uses the Album's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_source` | Uses the Album's Source attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_label` | Uses the Album's Label attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_mood` | Uses the Track's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_source` | Uses the Track's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| Tag Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:--------------------|:----------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `actor` | Uses the actor tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audio_language` | Uses the audio language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `collection` | Uses the collection tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `content_rating` | Uses the content rating tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `country` | Uses the country tags to match | :heavy_check_mark: | :x: | :x: |
| `decade` | Uses the year tag to match the decade | :heavy_check_mark: | :x: | :x: |
| `director` | Uses the director tags to match | :heavy_check_mark: | :x: | :x: |
| `genre` | Uses the genre tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `label` | Uses the label tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `network` | Uses the network tags to match<br>**Only works with the New Plex TV Agent** | :x: | :heavy_check_mark: | :x: |
| `producer` | Uses the actor tags to match | :heavy_check_mark: | :x: | :x: |
| `resolution` | Uses the resolution tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `subtitle_language` | Uses the subtitle language tags to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `writer` | Uses the writer tags to match | :heavy_check_mark: | :x: | :x: |
| `year` | Uses the year tag to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the year tag to match | :x: | :heavy_check_mark: | :x: |
| `artist_genre` | Uses the Artist's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_collection` | Uses the Artist's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_country` | Uses the Artist's Country attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_mood` | Uses the Artist's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_style` | Uses the Artist's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_genre` | Uses the Album's Genre attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_mood` | Uses the Album's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_style` | Uses the Album's Style attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_format` | Uses the Album's Format attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_type` | Uses the Album's Type attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_collection` | Uses the Album's Collection attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_source` | Uses the Album's Source attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_label` | Uses the Album's Label attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_mood` | Uses the Track's Mood attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_source` | Uses the Track's Style attribute to match | :x: | :x: | :heavy_check_mark: |
## Date Filters
Date filters can be used with either no modifier or with `.not`, `.before`, or `.after`.
@ -149,32 +149,32 @@ No date filter can take multiple values.
### Date Modifiers
| Date Modifier | Description | Format | Plex Web UI Display |
| :--- | :--- | :---: | :---: |
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` | `is in the last` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` | `is not in the last` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is before` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is after` |
| Date Modifier | Description | Format | Plex Web UI Display |
|:--------------|:-------------------------------------------------------------------------|:-------------------------------------------:|:--------------------:|
| No Modifier | Matches every item where the date attribute<br>is in the last X days | **Format:** number of days<br>e.g. `30` | `is in the last` |
| `.not` | Matches every item where the date attribute<br>is not in the last X days | **Format:** number of days<br>e.g. `30` | `is not in the last` |
| `.before` | Matches every item where the date attribute<br>is before the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is before` |
| `.after` | Matches every item where the date attribute<br>is after the given date | **Format:** MM/DD/YYYY<br>e.g. `01/01/2000` | `is after` |
### Date Attributes
| Date Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_added` | Uses the date added attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_air_date` | Uses the air date attribute (originally available) of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_last_played` | Uses the date last played attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `artist_added` | Uses the Artist's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_last_played` | Uses the Artist's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_last_played` | Uses the Album's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_added` | Uses the Album's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_released` | Uses the Album's release date attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_played` | Uses the Track's date last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_skipped` | Uses the Track's date last skipped attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_rated` | Uses the Track's date last rated attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_added` | Uses the Track's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| Date Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:----------------------|:-----------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| `added` | Uses the date added attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_added` | Uses the date added attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `release` | Uses the release date attribute (originally available) to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_air_date` | Uses the air date attribute (originally available) of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `last_played` | Uses the date last played attribute to match | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_last_played` | Uses the date last played attribute of the show's episodes to match | :x: | :heavy_check_mark: | :x: |
| `artist_added` | Uses the Artist's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `artist_last_played` | Uses the Artist's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_last_played` | Uses the Album's last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_added` | Uses the Album's date added attribute to match | :x: | :x: | :heavy_check_mark: |
| `album_released` | Uses the Album's release date attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_played` | Uses the Track's date last played attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_skipped` | Uses the Track's date last skipped attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_last_rated` | Uses the Track's date last rated attribute to match | :x: | :x: | :heavy_check_mark: |
| `track_added` | Uses the Track's date added attribute to match | :x: | :x: | :heavy_check_mark: |
## Number Filters
Number filters must use `.gt`, `.gte`, `.lt`, or `.lte` as a modifier.
@ -183,57 +183,57 @@ No number filter can take multiple values.
### Number Modifiers
| Number Modifier | Description | Format | Plex Web UI Display |
| :--- | :--- | :---: | :---: |
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is greater than` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is less than` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| Number Modifier | Description | Format | Plex Web UI Display |
|:----------------|:----------------------------------------------------------------------------------------------|:-------------------------------------------------:|:-------------------:|
| `.gt` | Matches every item where the number attribute<br>is greater then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is greater than` |
| `.gte` | Matches every item where the number attribute<br>is greater then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
| `.lt` | Matches every item where the number attribute<br>is less then the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | `is less than` |
| `.lte` | Matches every item where the number attribute<br>is less then or equal to the given number | **Format:** number<br>e.g. `30`, `1995`, or `7.5` | N/A |
### Number Attributes
| Number Search | Description | Restrictions | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: | :---: |
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` | :heavy_check_mark: | :x: | :x: |
| `plays` | Uses the plays attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_plays` | Uses the Episode's plays attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `critic_rating` | Uses the critic rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `user_rating` | Uses the user rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match | `0.0` - `10.0` | :x: | :heavy_check_mark: | :x: |
| `year` | Uses the year attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the Episode's year attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `album_year` | Uses the Album's year attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_decade` | Uses the Album's decade attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_plays` | Uses the Album's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_plays` | Uses the Track's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_skips` | Uses the Track's skips attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `artist_user_rating` | Uses the Artist's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_user_rating` | Uses the Album's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_critic_rating` | Uses the Album's critic rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `track_user_rating` | Uses the Track's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| Number Search | Description | Restrictions | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:----------------------|:---------------------------------------------------------------|:--------------:|:------------------:|:------------------:|:------------------:|
| `duration` | Uses the duration attribute to match using minutes | minimum: `1` | :heavy_check_mark: | :x: | :x: |
| `plays` | Uses the plays attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_plays` | Uses the Episode's plays attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `critic_rating` | Uses the critic rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `audience_rating` | Uses the audience rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `user_rating` | Uses the user rating attribute to match | `0.0` - `10.0` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_user_rating` | Uses the user rating attribute of the show's episodes to match | `0.0` - `10.0` | :x: | :heavy_check_mark: | :x: |
| `year` | Uses the year attribute to match | minimum: `1` | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `episode_year` | Uses the Episode's year attribute to match | minimum: `1` | :x: | :heavy_check_mark: | :x: |
| `album_year` | Uses the Album's year attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_decade` | Uses the Album's decade attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `album_plays` | Uses the Album's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_plays` | Uses the Track's plays attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `track_skips` | Uses the Track's skips attribute to match | minimum: `1` | :x: | :x: | :heavy_check_mark: |
| `artist_user_rating` | Uses the Artist's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_user_rating` | Uses the Album's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `album_critic_rating` | Uses the Album's critic rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
| `track_user_rating` | Uses the Track's user rating attribute to match | `0.0` - `10.0` | :x: | :x: | :heavy_check_mark: |
## Boolean Filters
Boolean Filters take no modifier and can only be either `true` or `false`.
### Boolean Attributes
| Boolean Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
| :--- | :--- | :---: | :---: | :---: |
| `hdr` | Is HDR | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unmatched` | Is Unmatched | :heavy_check_mark: | :x: | :x: |
| `duplicate` | Is Duplicate | :heavy_check_mark: | :x: | :x: |
| `unplayed` | Is Unplayed | :heavy_check_mark: | :x: | :x: |
| `progress` | Is In Progress | :heavy_check_mark: | :x: | :x: |
| `trash` | Is Trashed | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unplayed_episodes` | Has Unplayed Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_unplayed` | Has Episodes Unplayed | :x: | :heavy_check_mark: | :x: |
| `episode_duplicate` | Has Duplicate Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_progress` | Has Episode Progress | :x: | :heavy_check_mark: | :x: |
| `episode_unmatched` | Has Episodes Unmatched | :x: | :heavy_check_mark: | :x: |
| `artist_unmatched` | Is Artist's Unmatched | :x: | :x: | :heavy_check_mark: |
| `album_unmatched` | Is Album's Unmatched | :x: | :x: | :heavy_check_mark: |
| `track_trash` | Is Track Trashed | :x: | :x: | :heavy_check_mark: |
| Boolean Search | Description | Movie<br>Libraries | Show<br>Libraries | Music<br>Libraries |
|:--------------------|:-----------------------|:------------------:|:------------------:|:------------------:|
| `hdr` | Is HDR | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unmatched` | Is Unmatched | :heavy_check_mark: | :x: | :x: |
| `duplicate` | Is Duplicate | :heavy_check_mark: | :x: | :x: |
| `unplayed` | Is Unplayed | :heavy_check_mark: | :x: | :x: |
| `progress` | Is In Progress | :heavy_check_mark: | :x: | :x: |
| `trash` | Is Trashed | :heavy_check_mark: | :heavy_check_mark: | :x: |
| `unplayed_episodes` | Has Unplayed Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_unplayed` | Has Episodes Unplayed | :x: | :heavy_check_mark: | :x: |
| `episode_duplicate` | Has Duplicate Episodes | :x: | :heavy_check_mark: | :x: |
| `episode_progress` | Has Episode Progress | :x: | :heavy_check_mark: | :x: |
| `episode_unmatched` | Has Episodes Unmatched | :x: | :heavy_check_mark: | :x: |
| `artist_unmatched` | Is Artist's Unmatched | :x: | :x: | :heavy_check_mark: |
| `album_unmatched` | Is Album's Unmatched | :x: | :x: | :heavy_check_mark: |
| `track_trash` | Is Track Trashed | :x: | :x: | :heavy_check_mark: |
## Smart Filter Examples

@ -23,23 +23,23 @@ sonarr:
plex_path: /share/CACHEDEV1_DATA/Multimedia
```
| Name | Attribute | Allowed Values| Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Sonarr URL | `url` | Sonarr URL (Including URL Base if set)<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Sonarr API Token | N/A | :heavy_check_mark: |
| Add | `add` | Add missing shows found to Sonarr<br>**boolean:** true or false | false | :x: |
| Add Existing | `add_existing` | Add shows existing in this collection to Sonarr<br>**boolean:** true or false | false | :x: |
| Root Folder Path | `root_folder_path` | Sonarr Root Folder Path To Use | N/A | :heavy_check_mark: |
| Monitor | `monitor` | `all`: Monitor all episodes except specials<br>`future`: Monitor episodes that have not aired yet<br>`missing`: Monitor episodes that do not have files or have not aired yet<br>`existing`: Monitor episodes that have files or have not aired yet<br>`pilot`: Monitor the first episode. All other episodes will be ignored<br>`first`: Monitor all episodes of the first season. All other seasons will be ignored<br>`latest`: Monitor all episodes of the latest season and future seasons<br>`none`: No episodes will be monitored | `all` | :x: |
| Quality Profile | `quality_profile` | Quality Profile To Use | N/A | :heavy_check_mark: |
| Language Profile | `language_profile` | Language Profile To Use (v3 Only) | First Profile | :x: |
| Series Type | `series_type` | `standard`: Episodes released with SxxEyy pattern<br>`daily`: Episodes released daily or less frequently that use year-month-day (2017-05-25)<br>`anime`: Episodes released using an absolute episode number | `standard` | :x: |
| Season Folder | `season_folder` | Use the Season Folder Option when adding to Sonarr<br>**boolean:** true or false | true | :x: |
| Tag | `tag` | Add this list or comma-separated string of tags to every show added to Sonarr | ` ` | :x: |
| Search | `search` | Start search for missing episodes<br>**boolean:** true or false | false | :x: |
| Cutoff Search | `cutoff_search` | Start search for cutoff unmet episodes<br>**boolean:** true or false | false | :x: |
| Plex Path | `plex_path` | When using `add_existing` or `sonarr_add_all` Convert this part of the path to `sonarr_path` | ` ` | :x: |
| Sonarr Path | `sonarr_path` | When using `add_existing` or `sonarr_add_all` Convert the `plex_path` part of the path to this | ` ` | :x: |
| Name | Attribute | Allowed Values | Default | Required |
|:-----------------|:-------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------:|:------------------:|
| Sonarr URL | `url` | Sonarr URL (Including URL Base if set)<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Sonarr API Token | N/A | :heavy_check_mark: |
| Add | `add` | Add missing shows found to Sonarr<br>**boolean:** true or false | false | :x: |
| Add Existing | `add_existing` | Add shows existing in this collection to Sonarr<br>**boolean:** true or false | false | :x: |
| Root Folder Path | `root_folder_path` | Sonarr Root Folder Path To Use | N/A | :heavy_check_mark: |
| Monitor | `monitor` | `all`: Monitor all episodes except specials<br>`future`: Monitor episodes that have not aired yet<br>`missing`: Monitor episodes that do not have files or have not aired yet<br>`existing`: Monitor episodes that have files or have not aired yet<br>`pilot`: Monitor the first episode. All other episodes will be ignored<br>`first`: Monitor all episodes of the first season. All other seasons will be ignored<br>`latest`: Monitor all episodes of the latest season and future seasons<br>`none`: No episodes will be monitored | `all` | :x: |
| Quality Profile | `quality_profile` | Quality Profile To Use | N/A | :heavy_check_mark: |
| Language Profile | `language_profile` | Language Profile To Use (v3 Only) | First Profile | :x: |
| Series Type | `series_type` | `standard`: Episodes released with SxxEyy pattern<br>`daily`: Episodes released daily or less frequently that use year-month-day (2017-05-25)<br>`anime`: Episodes released using an absolute episode number | `standard` | :x: |
| Season Folder | `season_folder` | Use the Season Folder Option when adding to Sonarr<br>**boolean:** true or false | true | :x: |
| Tag | `tag` | Add this list or comma-separated string of tags to every show added to Sonarr | ` ` | :x: |
| Search | `search` | Start search for missing episodes<br>**boolean:** true or false | false | :x: |
| Cutoff Search | `cutoff_search` | Start search for cutoff unmet episodes<br>**boolean:** true or false | false | :x: |
| Plex Path | `plex_path` | When using `add_existing` or `sonarr_add_all` Convert this part of the path to `sonarr_path` | ` ` | :x: |
| Sonarr Path | `sonarr_path` | When using `add_existing` or `sonarr_add_all` Convert the `plex_path` part of the path to this | ` ` | :x: |
* The `token` can be found by going to `Sonarr > Settings > General > Security > API Key`

@ -2,9 +2,9 @@ You can find items using StevenLu's Popular Movies list on [StevenLu.com](https:
No configuration is required for this builder.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [StevenLu's Popular Movies List](#stevenlus-popular-movies-list) | `stevenlu_popular` | Finds every movie on [StevenLu's Popular Movies List](https://movies.stevenlu.com/). | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:-----------------------------------------------------------------|:-------------------|:-------------------------------------------------------------------------------------|:------------------:|:----------------:|:------------------------------------:|
| [StevenLu's Popular Movies List](#stevenlus-popular-movies-list) | `stevenlu_popular` | Finds every movie on [StevenLu's Popular Movies List](https://movies.stevenlu.com/). | :heavy_check_mark: | :x: | :heavy_check_mark: |
## StevenLu's Popular Movies List
Finds every movie on [StevenLu's Popular Movies List](https://movies.stevenlu.com/).

@ -9,9 +9,9 @@ tmdb:
language: en
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| TMDb V3 API Key | `apikey` | User TMDb V3 API Key | N/A | :heavy_check_mark: |
| Language | `language` | User Language | en | :x: |
| Name | Attribute | Allowed Values | Default | Required |
|:----------------|:-----------|:---------------------|:-------:|:------------------:|
| TMDb V3 API Key | `apikey` | User TMDb V3 API Key | N/A | :heavy_check_mark: |
| Language | `language` | User Language | en | :x: |
If you do not have a TMDb V3 API key please refer to this [guide](https://developers.themoviedb.org/3/getting-started/introduction).

@ -2,45 +2,45 @@ You can find items using the features of [TheMovieDb.org](https://www.themoviedb
## Standard TMDb Builders
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [TMDb Collection](#tmdb-collection) | `tmdb_collection` | Finds every item in the TMDb collection | :heavy_check_mark: | :x: | :x: |
| [TMDb List](#tmdb-list) | `tmdb_list` | Finds every item in the TMDb List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Actor](#tmdb-actor) | `tmdb_actor` | Finds every item in the TMDb Person's Actor Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Crew](#tmdb-crew) | `tmdb_crew` | Finds every item in the TMDb Person's Crew Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Director](#tmdb-director) | `tmdb_director` | Finds every item in the TMDb Person's Director Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Producer](#tmdb-producer) | `tmdb_producer` | Finds every item in the TMDb Person's Producer Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Writer](#tmdb-writer) | `tmdb_writer` | Finds every item in the TMDb Person's Writer Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Movie](#tmdb-movie) | `tmdb_movie` | Finds the movie specified | :heavy_check_mark: | :x: | :x: |
| [TMDb Show](#tmdb-show) | `tmdb_show` | Finds the show specified | :x: | :heavy_check_mark: | :x: |
| [TMDb Company](#tmdb-company) | `tmdb_company` | Finds every item from the TMDb company's movie/show list | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Network](#tmdb-network) | `tmdb_network` | Finds every item from the TMDb network's show list | :x: | :heavy_check_mark: | :x: |
| [TMDb Keyword](#tmdb-keyword) | `tmdb_keyword` | Finds every item from the TMDb keyword's movie/show list | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:------------------------------------|:------------------|:---------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [TMDb Collection](#tmdb-collection) | `tmdb_collection` | Finds every item in the TMDb collection | :heavy_check_mark: | :x: | :x: |
| [TMDb List](#tmdb-list) | `tmdb_list` | Finds every item in the TMDb List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Actor](#tmdb-actor) | `tmdb_actor` | Finds every item in the TMDb Person's Actor Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Crew](#tmdb-crew) | `tmdb_crew` | Finds every item in the TMDb Person's Crew Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Director](#tmdb-director) | `tmdb_director` | Finds every item in the TMDb Person's Director Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Producer](#tmdb-producer) | `tmdb_producer` | Finds every item in the TMDb Person's Producer Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Writer](#tmdb-writer) | `tmdb_writer` | Finds every item in the TMDb Person's Writer Credits | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Movie](#tmdb-movie) | `tmdb_movie` | Finds the movie specified | :heavy_check_mark: | :x: | :x: |
| [TMDb Show](#tmdb-show) | `tmdb_show` | Finds the show specified | :x: | :heavy_check_mark: | :x: |
| [TMDb Company](#tmdb-company) | `tmdb_company` | Finds every item from the TMDb company's movie/show list | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Network](#tmdb-network) | `tmdb_network` | Finds every item from the TMDb network's show list | :x: | :heavy_check_mark: | :x: |
| [TMDb Keyword](#tmdb-keyword) | `tmdb_keyword` | Finds every item from the TMDb keyword's movie/show list | :heavy_check_mark: | :heavy_check_mark: | :x: |
## Standard TMDb Details Builders
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [TMDb Collection Details](#tmdb-collection) | `tmdb_collection_details` | Finds every item in the TMDb collection and updates the collection with the summary, poster, and background from the TMDb collection | :heavy_check_mark: | :x: | :x: |
| [TMDb List Details](#tmdb-list) | `tmdb_list_details` | Finds every item in the TMDb List and updates the collection with the description of the TMDb list | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Actor Details](#tmdb-actor) | `tmdb_actor_details` | Finds every item in the TMDb Person's Actor Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Crew Details](#tmdb-crew) | `tmdb_crew_details` | Finds every item in the TMDb Person's Crew Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Director Details](#tmdb-director) | `tmdb_director_details` | Finds every item in the TMDb Person's Actor Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Producer Details](#tmdb-producer) | `tmdb_producer_details` | Finds every item in the TMDb Person's Producer Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Writer Details](#tmdb-writer) | `tmdb_writer_details` | Finds every item in the TMDb Person's Writer Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Movie Details](#tmdb-movie) | `tmdb_movie_details` | Finds the movie specified and updates the collection with the summary, poster, and background from the TMDb movie | :heavy_check_mark: | :x: | :x: |
| [TMDb Show Details](#tmdb-show) | `tmdb_show_details` | Finds the show specified and updates the collection with the summary, poster, and background from the TMDb show | :x: | :heavy_check_mark: | :x: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:--------------------------------------------|:--------------------------|:-------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [TMDb Collection Details](#tmdb-collection) | `tmdb_collection_details` | Finds every item in the TMDb collection and updates the collection with the summary, poster, and background from the TMDb collection | :heavy_check_mark: | :x: | :x: |
| [TMDb List Details](#tmdb-list) | `tmdb_list_details` | Finds every item in the TMDb List and updates the collection with the description of the TMDb list | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Actor Details](#tmdb-actor) | `tmdb_actor_details` | Finds every item in the TMDb Person's Actor Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Crew Details](#tmdb-crew) | `tmdb_crew_details` | Finds every item in the TMDb Person's Crew Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Director Details](#tmdb-director) | `tmdb_director_details` | Finds every item in the TMDb Person's Actor Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Producer Details](#tmdb-producer) | `tmdb_producer_details` | Finds every item in the TMDb Person's Producer Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Writer Details](#tmdb-writer) | `tmdb_writer_details` | Finds every item in the TMDb Person's Writer Credits with the biography and profile from the TMDb person | :heavy_check_mark: | :heavy_check_mark: | :x: |
| [TMDb Movie Details](#tmdb-movie) | `tmdb_movie_details` | Finds the movie specified and updates the collection with the summary, poster, and background from the TMDb movie | :heavy_check_mark: | :x: | :x: |
| [TMDb Show Details](#tmdb-show) | `tmdb_show_details` | Finds the show specified and updates the collection with the summary, poster, and background from the TMDb show | :x: | :heavy_check_mark: | :x: |
## Other TMDb Builders
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [TMDb Popular](#tmdb-popular) | `tmdb_popular` | Finds the movies/shows in TMDb's [Popular Movies](https://www.themoviedb.org/movie)/[Popular Shows](https://www.themoviedb.org/tv) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Now Playing](#tmdb-now-playing) | `tmdb_now_playing` | Finds the movies in TMDb's [Now Playing](https://www.themoviedb.org/movie/now-playing) list | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [TMDb Top Rated](#tmdb-top-rated) | `tmdb_top_rated` | Finds the movies/shows in TMDb's [Top Rated Movies](https://www.themoviedb.org/movie/top-rated)/[Top Rated Shows](https://www.themoviedb.org/tv/top-rated) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Trending Daily](#tmdb-trending-daily) | `tmdb_trending_daily` | Finds the movies/shows in TMDb's Trending Daily list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Trending Weekly](#tmdb-trending-weekly) | `tmdb_trending_weekly` | Finds the movies/shows in TMDb's Trending Weekly list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Discover](#tmdb-discover) | `tmdb_discover` | Uses [TMDb's Discover Search](https://www.themoviedb.org/documentation/api/discover) to find every movie/show based on the [movie search parameters](https://developers.themoviedb.org/3/discover/movie-discover) or [show search parameters](https://developers.themoviedb.org/3/discover/tv-discover) provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------------------|:-----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [TMDb Popular](#tmdb-popular) | `tmdb_popular` | Finds the movies/shows in TMDb's [Popular Movies](https://www.themoviedb.org/movie)/[Popular Shows](https://www.themoviedb.org/tv) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Now Playing](#tmdb-now-playing) | `tmdb_now_playing` | Finds the movies in TMDb's [Now Playing](https://www.themoviedb.org/movie/now-playing) list | :heavy_check_mark: | :x: | :heavy_check_mark: |
| [TMDb Top Rated](#tmdb-top-rated) | `tmdb_top_rated` | Finds the movies/shows in TMDb's [Top Rated Movies](https://www.themoviedb.org/movie/top-rated)/[Top Rated Shows](https://www.themoviedb.org/tv/top-rated) list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Trending Daily](#tmdb-trending-daily) | `tmdb_trending_daily` | Finds the movies/shows in TMDb's Trending Daily list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Trending Weekly](#tmdb-trending-weekly) | `tmdb_trending_weekly` | Finds the movies/shows in TMDb's Trending Weekly list | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TMDb Discover](#tmdb-discover) | `tmdb_discover` | Uses [TMDb's Discover Search](https://www.themoviedb.org/documentation/api/discover) to find every movie/show based on the [movie search parameters](https://developers.themoviedb.org/3/discover/movie-discover) or [show search parameters](https://developers.themoviedb.org/3/discover/tv-discover) provided | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Expected Input
@ -413,108 +413,108 @@ Uses [TMDb's Discover Search](https://www.themoviedb.org/documentation/api/disco
The `sync_mode: sync` and `collection_order: custom` Details are recommended since the lists are continuously updated and in a specific order.
| Type | Description |
| :--- | :--- |
| String | Any number of alphanumeric characters |
| Integer | Any whole number greater than zero i.e. 2, 10, 50 |
| Number | Any number greater than zero i.e. 2.5, 7.4, 9 |
| Boolean | Must be `true` or `false` |
| Date: `MM/DD/YYYY` | Date that fits the specified format |
| Year: `YYYY` | Year must be a 4 digit integer i.e. 1990 |
| Type | Description |
|:-------------------|:--------------------------------------------------|
| String | Any number of alphanumeric characters |
| Integer | Any whole number greater than zero i.e. 2, 10, 50 |
| Number | Any number greater than zero i.e. 2.5, 7.4, 9 |
| Boolean | Must be `true` or `false` |
| Date: `MM/DD/YYYY` | Date that fits the specified format |
| Year: `YYYY` | Year must be a 4 digit integer i.e. 1990 |
### Discover Movies Parameters
| Movie Parameters | Description | Type |
| :--- | :--- | :---: |
| `limit` | Specify how many movies you want returned by the query. (default: 100) | Integer |
| `language` | Specify a language to query translatable fields with. (default: en-US) | `([a-z]{2})-([A-Z]{2})` |
| `region` | Specify a [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) to filter release dates. Must be uppercase. | `^[A-Z]{2}$` |
| `sort_by` | Choose from one of the many available sort options. (default: `popularity.desc`) | See [sort options](#sort-options) below |
| `certification_country` | Used in conjunction with the certification parameter, use this to specify a country with a valid certification. | String |
| `certification` | Filter results with a valid certification from the `certification_country` parameter. | String |
| `certification.lte` | Filter and only include movies that have a certification that is less than or equal to the specified value. | String |
| `certification.gte` | Filter and only include movies that have a certification that is greater than or equal to the specified value. | String |
| `include_adult` | A filter and include or exclude adult movies. | Boolean |
| `include_video` | A filter and include or exclude videos. | Boolean |
| `primary_release_year` | A filter to limit the results to a specific primary release year. | Year: YYYY |
| `primary_release_date.gte` | Filter and only include movies that have a primary release date that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `primary_release_date.lte` | Filter and only include movies that have a primary release date that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `release_date.gte` | Filter and only include movies that have a release date (looking at all release dates) that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `release_date.lte` | Filter and only include movies that have a release date (looking at all release dates) that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `with_release_type` | Specify a comma (AND) or pipe (OR) separated value to filter release types by. (1: Premiere, 2: Theatrical (limited), 3: Theatrical, 4: Digital, 5: Physical, 6: TV) | String |
| `year` | A filter to limit the results to a specific year (looking at all release dates). | Year: YYYY |
| `vote_count.gte` | Filter and only include movies that have a vote count that is greater or equal to the specified value. | Integer |
| `vote_count.lte` | Filter and only include movies that have a vote count that is less than or equal to the specified value. | Integer |
| `vote_average.gte` | Filter and only include movies that have a rating that is greater or equal to the specified value. | Number |
| `vote_average.lte` | Filter and only include movies that have a rating that is less than or equal to the specified value. | Number |
| `with_cast` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as an actor. | String |
| `with_crew` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as a crew member. | String |
| `with_people` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as either an actor or a crew member. | String |
| `with_companies` | A comma-separated list of production company ID's. Only include movies that have one of the ID's added as a production company. | String |
| `without_companies` | Filter the results to exclude the specific production companies you specify here. AND / OR filters are supported. | String |
| `with_genres` | Comma-separated value of genre ids that you want to include in the results. | String |
| `without_genres` | Comma-separated value of genre ids that you want to exclude from the results. | String |
| `with_keywords` | A comma-separated list of keyword ID's. Only includes movies that have one of the ID's added as a keyword. | String |
| `without_keywords` | Exclude items with certain keywords. You can comma and pipe separate these values to create an 'AND' or 'OR' logic. | String |
| `with_runtime.gte` | Filter and only include movies that have a runtime that is greater or equal to a value. | Integer |
| `with_runtime.lte` | Filter and only include movies that have a runtime that is less than or equal to a value. | Integer |
| `with_original_language` | Specify an ISO 639-1 string to filter results by their original language value. | String |
| `with_watch_providers` | A comma or pipe separated list of watch provider ID's. Combine this filter with `watch_region` in order to filter your results by a specific watch provider in a specific region. | String |
| `watch_region` | An [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Combine this filter with `with_watch_providers` in order to filter your results by a specific watch provider in a specific region. | String |
| `with_watch_monetization_types` | In combination with `watch_region`, you can filter by monetization type. | `flatrate`, `free`, `ads`, `rent`, `buy` |
| Movie Parameters | Description | Type |
|:--------------------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------:|
| `limit` | Specify how many movies you want returned by the query. (default: 100) | Integer |
| `language` | Specify a language to query translatable fields with. (default: en-US) | `([a-z]{2})-([A-Z]{2})` |
| `region` | Specify a [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes) to filter release dates. Must be uppercase. | `^[A-Z]{2}$` |
| `sort_by` | Choose from one of the many available sort options. (default: `popularity.desc`) | See [sort options](#sort-options) below |
| `certification_country` | Used in conjunction with the certification parameter, use this to specify a country with a valid certification. | String |
| `certification` | Filter results with a valid certification from the `certification_country` parameter. | String |
| `certification.lte` | Filter and only include movies that have a certification that is less than or equal to the specified value. | String |
| `certification.gte` | Filter and only include movies that have a certification that is greater than or equal to the specified value. | String |
| `include_adult` | A filter and include or exclude adult movies. | Boolean |
| `include_video` | A filter and include or exclude videos. | Boolean |
| `primary_release_year` | A filter to limit the results to a specific primary release year. | Year: YYYY |
| `primary_release_date.gte` | Filter and only include movies that have a primary release date that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `primary_release_date.lte` | Filter and only include movies that have a primary release date that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `release_date.gte` | Filter and only include movies that have a release date (looking at all release dates) that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `release_date.lte` | Filter and only include movies that have a release date (looking at all release dates) that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `with_release_type` | Specify a comma (AND) or pipe (OR) separated value to filter release types by. (1: Premiere, 2: Theatrical (limited), 3: Theatrical, 4: Digital, 5: Physical, 6: TV) | String |
| `year` | A filter to limit the results to a specific year (looking at all release dates). | Year: YYYY |
| `vote_count.gte` | Filter and only include movies that have a vote count that is greater or equal to the specified value. | Integer |
| `vote_count.lte` | Filter and only include movies that have a vote count that is less than or equal to the specified value. | Integer |
| `vote_average.gte` | Filter and only include movies that have a rating that is greater or equal to the specified value. | Number |
| `vote_average.lte` | Filter and only include movies that have a rating that is less than or equal to the specified value. | Number |
| `with_cast` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as an actor. | String |
| `with_crew` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as a crew member. | String |
| `with_people` | A comma-separated list of person ID's. Only include movies that have one of the ID's added as either an actor or a crew member. | String |
| `with_companies` | A comma-separated list of production company ID's. Only include movies that have one of the ID's added as a production company. | String |
| `without_companies` | Filter the results to exclude the specific production companies you specify here. AND / OR filters are supported. | String |
| `with_genres` | Comma-separated value of genre ids that you want to include in the results. | String |
| `without_genres` | Comma-separated value of genre ids that you want to exclude from the results. | String |
| `with_keywords` | A comma-separated list of keyword ID's. Only includes movies that have one of the ID's added as a keyword. | String |
| `without_keywords` | Exclude items with certain keywords. You can comma and pipe separate these values to create an 'AND' or 'OR' logic. | String |
| `with_runtime.gte` | Filter and only include movies that have a runtime that is greater or equal to a value. | Integer |
| `with_runtime.lte` | Filter and only include movies that have a runtime that is less than or equal to a value. | Integer |
| `with_original_language` | Specify an ISO 639-1 string to filter results by their original language value. | String |
| `with_watch_providers` | A comma or pipe separated list of watch provider ID's. Combine this filter with `watch_region` in order to filter your results by a specific watch provider in a specific region. | String |
| `watch_region` | An [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Combine this filter with `with_watch_providers` in order to filter your results by a specific watch provider in a specific region. | String |
| `with_watch_monetization_types` | In combination with `watch_region`, you can filter by monetization type. | `flatrate`, `free`, `ads`, `rent`, `buy` |
### Discover Shows Parameters
| Show Parameters | Description | Type |
| :--- | :--- | :---: |
| `limit` | Specify how many movies you want to be returned by the query. (default: 100) | Integer |
| `language` | Specify a language to query translatable fields with. (default: en-US) | `([a-z]{2})-([A-Z]{2})` |
| `sort_by` | Choose from one of the many available sort options. (default: `popularity.desc`) | See [sort options](#sort-options) below |
| `air_date.gte` | Filter and only include TV shows that have an air date (by looking at all episodes) that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `air_date.lte` | Filter and only include TV shows that have an air date (by looking at all episodes) that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `first_air_date.gte` | Filter and only include TV shows that have a original air date that is greater or equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Date: `MM/DD/YYYY` |
| `first_air_date.lte` | Filter and only include TV shows that have a original air date that is less than or equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Date: `MM/DD/YYYY` |
| `first_air_date_year` | Filter and only include TV shows that have an original air date year that equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Year: YYYY |
| `include_null_first_air_dates` | Use this filter to include TV shows that don't have an air date while using any of the `first_air_date` filters. | Boolean |
| `timezone` | Used in conjunction with the `air_date.gte/lte` filter to calculate the proper UTC offset. (default: America/New_York) | String |
| `vote_count.gte` | Filter and only include TV that have a vote count that is greater or equal to the specified value. | Integer |
| `vote_count.lte` | Filter and only include TV that have a vote count that is less than or equal to the specified value. | Integer |
| `vote_average.gte` | Filter and only include TV that have a rating that is greater or equal to the specified value. | Number |
| `vote_average.lte` | Filter and only include TV that have a rating that is less than or equal to the specified value. | Number |
| `with_networks` | Comma-separated value of network ids that you want to include in the results. | String |
| `with_companies` | A comma-separated list of production company ID's. Only include movies that have one of the ID's added as a production company. | String |
| `without_companies` | Filter the results to exclude the specific production companies you specify here. AND / OR filters are supported. | String |
| `with_genres` | Comma-separated value of genre ids that you want to include in the results. | String |
| `without_genres` | Comma-separated value of genre ids that you want to exclude from the results. | String |
| `with_keywords` | A comma-separated list of keyword ID's. Only includes TV shows that have one of the ID's added as a keyword. | String |
| `without_keywords` | Exclude items with certain keywords. You can comma and pipe separate these values to create an 'AND' or 'OR' logic. | String |
| `with_runtime.gte` | Filter and only include TV shows with an episode runtime that is greater than or equal to a value. | Integer |
| `with_runtime.lte` | Filter and only include TV shows with an episode runtime that is less than or equal to a value. | Integer |
| `with_original_language` | Specify an ISO 639-1 string to filter results by their original language value. | String |
| `screened_theatrically` | Filter results to include items that have been screened theatrically. | Boolean |
| `with_watch_providers` | A comma or pipe separated list of watch provider ID's. Combine this filter with `watch_region` in order to filter your results by a specific watch provider in a specific region. | String |
| `watch_region` | An [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Combine this filter with `with_watch_providers` in order to filter your results by a specific watch provider in a specific region. | String |
| `with_watch_monetization_types` | In combination with `watch_region`, you can filter by monetization type. | `flatrate`, `free`, `ads`, `rent`, `buy` |
| `with_status` | Filter TV shows by their status. | `0`: Returning Series, `1`: Planned, `2`: In Production, `3`: Ended, `4`: Cancelled, `5`: Pilot) |
| `with_type` | Filter TV shows by their type. | `0`: Documentary, `1`: News, `2`: Miniseries, `3`: Reality, `4`: Scripted, `5`: Show, `6`: Video) |
| Show Parameters | Description | Type |
|:--------------------------------|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:-------------------------------------------------------------------------------------------------:|
| `limit` | Specify how many movies you want to be returned by the query. (default: 100) | Integer |
| `language` | Specify a language to query translatable fields with. (default: en-US) | `([a-z]{2})-([A-Z]{2})` |
| `sort_by` | Choose from one of the many available sort options. (default: `popularity.desc`) | See [sort options](#sort-options) below |
| `air_date.gte` | Filter and only include TV shows that have an air date (by looking at all episodes) that is greater or equal to the specified value. | Date: `MM/DD/YYYY` |
| `air_date.lte` | Filter and only include TV shows that have an air date (by looking at all episodes) that is less than or equal to the specified value. | Date: `MM/DD/YYYY` |
| `first_air_date.gte` | Filter and only include TV shows that have a original air date that is greater or equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Date: `MM/DD/YYYY` |
| `first_air_date.lte` | Filter and only include TV shows that have a original air date that is less than or equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Date: `MM/DD/YYYY` |
| `first_air_date_year` | Filter and only include TV shows that have an original air date year that equal to the specified value. Can be used in conjunction with the `include_null_first_air_dates` filter if you want to include items with no air date. | Year: YYYY |
| `include_null_first_air_dates` | Use this filter to include TV shows that don't have an air date while using any of the `first_air_date` filters. | Boolean |
| `timezone` | Used in conjunction with the `air_date.gte/lte` filter to calculate the proper UTC offset. (default: America/New_York) | String |
| `vote_count.gte` | Filter and only include TV that have a vote count that is greater or equal to the specified value. | Integer |
| `vote_count.lte` | Filter and only include TV that have a vote count that is less than or equal to the specified value. | Integer |
| `vote_average.gte` | Filter and only include TV that have a rating that is greater or equal to the specified value. | Number |
| `vote_average.lte` | Filter and only include TV that have a rating that is less than or equal to the specified value. | Number |
| `with_networks` | Comma-separated value of network ids that you want to include in the results. | String |
| `with_companies` | A comma-separated list of production company ID's. Only include movies that have one of the ID's added as a production company. | String |
| `without_companies` | Filter the results to exclude the specific production companies you specify here. AND / OR filters are supported. | String |
| `with_genres` | Comma-separated value of genre ids that you want to include in the results. | String |
| `without_genres` | Comma-separated value of genre ids that you want to exclude from the results. | String |
| `with_keywords` | A comma-separated list of keyword ID's. Only includes TV shows that have one of the ID's added as a keyword. | String |
| `without_keywords` | Exclude items with certain keywords. You can comma and pipe separate these values to create an 'AND' or 'OR' logic. | String |
| `with_runtime.gte` | Filter and only include TV shows with an episode runtime that is greater than or equal to a value. | Integer |
| `with_runtime.lte` | Filter and only include TV shows with an episode runtime that is less than or equal to a value. | Integer |
| `with_original_language` | Specify an ISO 639-1 string to filter results by their original language value. | String |
| `screened_theatrically` | Filter results to include items that have been screened theatrically. | Boolean |
| `with_watch_providers` | A comma or pipe separated list of watch provider ID's. Combine this filter with `watch_region` in order to filter your results by a specific watch provider in a specific region. | String |
| `watch_region` | An [ISO 3166-1 code](https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Combine this filter with `with_watch_providers` in order to filter your results by a specific watch provider in a specific region. | String |
| `with_watch_monetization_types` | In combination with `watch_region`, you can filter by monetization type. | `flatrate`, `free`, `ads`, `rent`, `buy` |
| `with_status` | Filter TV shows by their status. | `0`: Returning Series, `1`: Planned, `2`: In Production, `3`: Ended, `4`: Cancelled, `5`: Pilot) |
| `with_type` | Filter TV shows by their type. | `0`: Documentary, `1`: News, `2`: Miniseries, `3`: Reality, `4`: Scripted, `5`: Show, `6`: Video) |
### Sort Options
| Sort Option | Movie Sort | Show Sort |
| :--- | :---: | :---: |
| `popularity.asc` | :heavy_check_mark: | :heavy_check_mark: |
| `popularity.desc` | :heavy_check_mark: | :heavy_check_mark: |
| `original_title.asc` | :heavy_check_mark: | :x: |
| `original_title.desc` | :heavy_check_mark: | :x: |
| `revenue.asc` | :heavy_check_mark: | :x: |
| `revenue.desc` | :heavy_check_mark: | :x: |
| `release_date.asc` | :heavy_check_mark: | :x: |
| `release_date.desc` | :heavy_check_mark: | :x: |
| `primary_release_date.asc` | :heavy_check_mark: | :x: |
| `primary_release_date.desc` | :heavy_check_mark: | :x: |
| `first_air_date.asc` | :x: | :heavy_check_mark: |
| `first_air_date.desc` | :x: | :heavy_check_mark: |
| `vote_average.asc` | :heavy_check_mark: | :heavy_check_mark: |
| `vote_average.desc` | :heavy_check_mark: | :heavy_check_mark: |
| `vote_count.asc` | :heavy_check_mark: | :x: |
| `vote_count.desc` | :heavy_check_mark: | :x: |
| Sort Option | Movie Sort | Show Sort |
|:----------------------------|:------------------:|:------------------:|
| `popularity.asc` | :heavy_check_mark: | :heavy_check_mark: |
| `popularity.desc` | :heavy_check_mark: | :heavy_check_mark: |
| `original_title.asc` | :heavy_check_mark: | :x: |
| `original_title.desc` | :heavy_check_mark: | :x: |
| `revenue.asc` | :heavy_check_mark: | :x: |
| `revenue.desc` | :heavy_check_mark: | :x: |
| `release_date.asc` | :heavy_check_mark: | :x: |
| `release_date.desc` | :heavy_check_mark: | :x: |
| `primary_release_date.asc` | :heavy_check_mark: | :x: |
| `primary_release_date.desc` | :heavy_check_mark: | :x: |
| `first_air_date.asc` | :x: | :heavy_check_mark: |
| `first_air_date.desc` | :x: | :heavy_check_mark: |
| `vote_average.asc` | :heavy_check_mark: | :heavy_check_mark: |
| `vote_average.desc` | :heavy_check_mark: | :heavy_check_mark: |
| `vote_count.asc` | :heavy_check_mark: | :x: |
| `vote_count.desc` | :heavy_check_mark: | :x: |
```yaml
collections:

@ -0,0 +1,159 @@
You can have the script edit the metadata of Shows, Seasons, and Episodes by adding them to the `metadata` mapping of a Metadata File.
An example of multiple metadata edits in a show library is below:
```yaml
metadata:
"Avatar: The Last Airbender":
sort_title: Avatar 01
seasons:
1:
title: "Book One: Water"
summary: >-
After a lapse of 100 years, the Avatar-spiritual master of the elements-has returned. And just in
the nick of time. The Four Nations (Water, Earth, Fire, and Air) have become unbalanced. The Fire
Nation wants to rule the world, and its first conquest will be the Northern Water Tribe. It's up to
a 12-year-old Airbender named Aang to find a way to stop it. Join Aang, Katara, Sokka, Momo, and
Appa as they head north on the adventure of a lifetime.
episodes:
1:
rating: 9.1
2:
title: "Book Two: Earth"
summary: >-
Avatar Aang continues his quest to master the four elements before the end of summer. Together with
Katara, Sokka, Momo, and Appa, he journeys across the Earth Kingdom in search of an Earthbending
mentor. Along the way, he confronts Princess Azula, treacherous daughter of Firelord Ozai and
sister to Prince Zuko. More powerful than her brother, Azula will stop nothing to defeat the Avatar.
But Aang and the gang find plenty of Earth Kingdom allies to help them along the way. From the swamps
of the South to the Earth King's palace, Avatar: Book 2 is an adventure like no other.
3:
title: "Book Three: Fire"
summary: >-
Having survived the terrible battle with Azula, Aang faces new challenges as he and his brave
friends secretly enter the Fire Nation. Their quest is to find and defeat Firelord Ozai. Along
the way, they discover that Ozai has plans of his own. The leader of the Fire Nation intends to
use the massive power of Sozin's comet to spread his dominion permanently across the four nations.
Short on time, Aang has a lot of bending to learn and no master to help him learn it. However, his
friends are there to help, and he finds unexpected allies deep in the heart of the Fire Nation. In
the spectacular four-part conclusion, Aang must fulfill his destiny and become a fully realized
Avatar, or watch the world go up in smoke.
episodes:
21:
summary: The Epic Series Final of Avatar The Last Airbender
"Avatar: The Legend of Korra":
sort_title: Avatar 02
alt_title: The Legend of Korra
original_title: The Legend of Korra
seasons:
1:
title: "Book One: Air"
2:
title: "Book Two: Spirits"
3:
title: "Book Three: Change"
4:
title: "Book Four: Balance"
```
## Shows
Each show is defined by the mapping name which must be the same as the show name in the library unless an `alt_title` is specified.
### Seasons
To edit the metadata of a particular Season in a Show use the `seasons` attribute on its show.
The mapping name is the season number (use 0 for specials) or the season name.
### Episodes
To edit the metadata of a particular Episode in a Season use the `episodes` attribute on its season.
The mapping name is the episode number in that season or the title of the episode.
## Metadata Edits
The available attributes for editing shows, seasons, and episodes are as follows
### Special Attributes
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
|:------------------|:-------------|:-------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| Title | `title` | Title if different from the mapping value useful when you have multiple shows with the same name | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Alternative Title | `alt_title` | Alternative title to look for | :heavy_check_mark: | :x: | :x: |
| Year | `year` | Year of show for better identification | :heavy_check_mark: | :x: | :x: |
| TMDb Show ID | `tmdb_show` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie | :heavy_check_mark: | :x: | :x: |
| TMDb Movie ID | `tmdb_movie` | TMDb Movie ID to use for metadata useful for movies that have been split into segments | :heavy_check_mark: | :x: | :x: |
| Seasons | `seasons` | Mapping to define Seasons | :heavy_check_mark: | :x: | :x: |
| Episodes | `episodes` | Mapping to define Episodes | :x: | :heavy_check_mark: | :x: |
* YAML files cannot have two items with the same mapping name so if you have two shows with the same name you would change the mapping values to whatever you want. Then use the `title` attribute to specify the real title and use the `year` attribute to specify which of the multiple shows to choose.
```yaml
metadata:
Godzilla1:
title: Godzilla
year: 1954
content_rating: R
Godzilla2:
title: Godzilla
year: 1998
content_rating: PG-13
```
* If you know of another Title your show might exist under, but you want it titled differently you can use `alt_title` to specify another title to look under and then be changed to the mapping name. For Example TMDb uses the name `The Legend of Korra`, but I want it as `Avatar: The Legend of Korra` (Which must be surrounded by quotes since it uses the character `:`):
```yaml
metadata:
"Avatar: The Legend of Korra":
alt_title: The Legend of Korra
```
This would change the name of the TMDb default `The Legend of Korra` to `Avatar: The Legend of Korra` and would not mess up any subsequent runs.
### General Attributes
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
|:---------------------|:-----------------------|:--------------------------------------------------------------|:------------------:|:------------------:|:------------------:|
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Original Title | `original_title` | Text to change Original Title | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Content Rating | `content_rating` | Text to change Content Rating | :heavy_check_mark: | :x: | :x: |
| Rating | `rating` | Number to change Rating | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Studio | `studio` | Text to change Studio | :heavy_check_mark: | :x: | :x: |
| Tagline | `tagline` | Text to change Tagline | :heavy_check_mark: | :x: | :x: |
| Summary | `summary` | Text to change Summary | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
### Tag Attributes
You can add `.remove` to any tag attribute to only remove those tags i.e. `genre.remove`.
You can add `.sync` to any tag attribute to sync all tags vs just appending the new ones i.e. `genre.sync`.
| Name | Attribute | Allowed Values | Shows | Seasons | Episodes |
|:-----------|:-------------|:----------------------------------------------------|:------------------:|:-------:|:------------------:|
| Director | `director` | List or comma-separated text of each Director Tag | :x: | :x: | :heavy_check_mark: |
| Genre | `genre` | List or comma-separated text of each Genre Tag | :heavy_check_mark: | :x: | :x: |
| Writer | `writer` | List or comma-separated text of each Writer Tag | :x: | :x: | :heavy_check_mark: |
| Collection | `collection` | List or comma-separated text of each Collection Tag | :heavy_check_mark: | :x: | :x: |
| Label | `label` | List or comma-separated text of each Label Tag | :heavy_check_mark: | :x: | :x: |
## Image Attributes
| Name | Attribute | Description | Allowed Values | Shows | Seasons | Episodes |
|:----------------|:------------------|:---------------------------------------------------------------------|:------------------------------------------------|:------------------:|:------------------:|:------------------:|
| URL Poster | `url_poster` | Used to change the show's poster to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| File Poster | `file_poster` | Used to change the show's poster to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| URL Background | `url_background` | Use to change the show's background to the URL | URL of image publicly available on the internet | :heavy_check_mark: | :heavy_check_mark: | :x: |
| File Background | `file_background` | Used to change the show's background to the image in the file system | Path to image in the file system | :heavy_check_mark: | :heavy_check_mark: | :x: |
### Advance Attributes
All these attributes only work with Shows.
| Name | Attribute | Allowed Values |
|:--------------------|:---------------------|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Episode Sorting | `episode_sorting` | `default`: Library default<br>`oldest`: Oldest first<br>`newest`: Newest first |
| Keep Episodes | `keep_episodes` | `all`: All episodes<br>`5_latest`: 5 latest episodes<br>`3_latest`: 3 latest episodes<br>`latest`: Latest episodes<br>`past_3`: Episodes added in the past 3 days<br>`past_7`: Episodes added in the past 7 days<br>`past_30`: Episodes added in the past 30 days |
| Delete Episodes | `delete_episodes` | `never`: Never<br>`day`: After a day<br>`week`: After a week<br>`refresh`: On next refresh |
| Season Display | `season_display` | `default`: Library default<br>`show`: Show<br>`hide`: Hide |
| Episode Ordering | `episode_ordering` | `default`: Library default<br>`tmdb_aired`*: The Movie Database (Aired)<br>`tvdb_aired`: TheTVDB (Aired)<br>`tvdb_dvd`: TheTVDB (DVD)<br>`tvdb_absolute`: TheTVDB (Absolute) |
| Metadata Language* | `metadata_language` | `default`, `ar-SA`, `ca-ES`, `cs-CZ`, `da-DK`, `de-DE`, `el-GR`, `en-AU`, `en-CA`, `en-GB`, `en-US`, `es-ES`, `es-MX`, `et-EE`, `fa-IR`, `fi-FI`, `fr-CA`, `fr-FR`, `he-IL`, `hi-IN`, `hu-HU`, `id-ID`, `it-IT`, `ja-JP`, `ko-KR`, `lt-LT`, `lv-LV`, `nb-NO`, `nl-NL`, `pl-PL`, `pt-BR`, `pt-PT`, `ro-RO`, `ru-RU`, `sk-SK`, `sv-SE`, `th-TH`, `tr-TR`, `uk-UA`, `vi-VN`, `zh-CN`, `zh-HK`, `zh-TW` |
| Use Original Title* | `use_original_title` | `default`: Library default<br>`no`: No<br>`yes`: Yes |
\* Must be using the **New Plex TV Agent**

@ -2,14 +2,14 @@ You can find items using the features of [TheTVDb.com](https://www.thetvdb.com/)
No configuration is required for these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [TVDb List](#tvdb-list) | `tvdb_list` | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb List Details](#tvdb-list) | `tvdb_list_details` | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) and updates the collection summary with the TVDb list description | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb Show](#tvdb-show) | `tvdb_show` | Finds the series specified | :x: | :heavy_check_mark: | :x: |
| [TVDb Show Details](#tvdb-show) | `tvdb_show_details` | Finds the series specified and updates the collection with the summary, poster, and background from the TVDb series | :x: | :heavy_check_mark: | :x: |
| [TVDb Movie](#tvdb-movie) | `tvdb_movie` | Finds the movie specified | :heavy_check_mark: | :x: | :x: |
| [TVDb Movie Details](#tvdb-movie) | `tvdb_movie_details` | Finds the movie specified and updates the collection with the summary, poster, and background from the TVDb movie | :heavy_check_mark: | :x: | :x: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:----------------------------------|:---------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [TVDb List](#tvdb-list) | `tvdb_list` | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb List Details](#tvdb-list) | `tvdb_list_details` | Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom) and updates the collection summary with the TVDb list description | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [TVDb Show](#tvdb-show) | `tvdb_show` | Finds the series specified | :x: | :heavy_check_mark: | :x: |
| [TVDb Show Details](#tvdb-show) | `tvdb_show_details` | Finds the series specified and updates the collection with the summary, poster, and background from the TVDb series | :x: | :heavy_check_mark: | :x: |
| [TVDb Movie](#tvdb-movie) | `tvdb_movie` | Finds the movie specified | :heavy_check_mark: | :x: | :x: |
| [TVDb Movie Details](#tvdb-movie) | `tvdb_movie_details` | Finds the movie specified and updates the collection with the summary, poster, and background from the TVDb movie | :heavy_check_mark: | :x: | :x: |
## TVDb List
Finds every item in a [TVDb List](https://www.thetvdb.com/lists) or [TVDb Userlist](https://www.thetvdb.com/lists/custom)

@ -9,9 +9,9 @@ tautulli:
apikey: ################################
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Tautulli URL | `url` | Tautulli URL<br>**Example:** http://192.168.1.12:8659 | N/A | :heavy_check_mark: |
| API Key | `apikey` | Tautulli API Key | N/A | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Default | Required |
|:-------------|:----------|:------------------------------------------------------|:-------:|:------------------:|
| Tautulli URL | `url` | Tautulli URL<br>**Example:** http://192.168.1.12:8659 | N/A | :heavy_check_mark: |
| API Key | `apikey` | Tautulli API Key | N/A | :heavy_check_mark: |
* The apikey can be found by going to Tautulli > Settings > Web Interface > API > API Key

@ -4,20 +4,20 @@ You can find items in your Plex using the features of [Tautulli](https://tautull
It has watch analytics that can show the most watched or most popular Movies/Shows in each Library.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Custom Sort | Works with Playlists |
| :--- | :--- | :--- | :---: | :---: | :---: | :---: |
| [Tautulli Popular](#tautulli-popularwatched) | `tautulli_popular` | Gets the Tautulli Most Popular List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Tautulli Watched](#tautulli-popularwatched) | `tautulli_watched` | Gets the Tautulli Most Watched List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Custom Sort | Works with Playlists |
|:---------------------------------------------|:-------------------|:------------------------------------|:------------------:|:------------------:|:----------------------:|:--------------------:|
| [Tautulli Popular](#tautulli-popularwatched) | `tautulli_popular` | Gets the Tautulli Most Popular List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Tautulli Watched](#tautulli-popularwatched) | `tautulli_watched` | Gets the Tautulli Most Watched List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
## Tautulli Popular/Watched
Both Tautulli Popular and Tautulli Watched have the same sub-attributes detailed below.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |
| `list_days` | Number of Days to look back of the list | :x: | 30 |
| `list_minimum` | Minimum Number of Users Watching/Plays to add to the list | :x: | 30 |
| `list_size` | Number of Movies/Shows to add to this list | :x: | 10 |
| `list_buffer` | Number of extra Movies/Shows to grab in case you have multiple show/movie Libraries. | :x: | 10 |
| Attribute | Description | Required | Default |
|:---------------|:-------------------------------------------------------------------------------------|:--------:|:-------:|
| `list_days` | Number of Days to look back of the list | :x: | 30 |
| `list_minimum` | Minimum Number of Users Watching/Plays to add to the list | :x: | 30 |
| `list_size` | Number of Movies/Shows to add to this list | :x: | 10 |
| `list_buffer` | Number of extra Movies/Shows to grab in case you have multiple show/movie Libraries. | :x: | 10 |
If you have multiple movie Libraries or multiple show Libraries Tautulli combines those in the popular/watched lists so there might not be 10 movies/shows from the library to make your `list_size`.

@ -16,10 +16,10 @@ trakt:
created_at:
```
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Client ID | `client_id` | Trakt Application Client ID | N/A | :heavy_check_mark: |
| Client Secret | `client_secret` | Trakt Application Client Secret | N/A | :heavy_check_mark: |
| Name | Attribute | Allowed Values | Default | Required |
|:--------------|:----------------|:--------------------------------|:-------:|:------------------:|
| Client ID | `client_id` | Trakt Application Client ID | N/A | :heavy_check_mark: |
| Client Secret | `client_secret` | Trakt Application Client Secret | N/A | :heavy_check_mark: |
* All other attributes will be filled in by the script.

@ -2,30 +2,30 @@ You can find items using the features of [Trakt.tv](https://trakt.tv/) (Trakt).
[Configuring Trakt](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Trakt-Attributes) in the config is required for any of these builders.
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
| :--- | :--- | :--- | :---: | :---: | :---: |
| [Trakt List](#trakt-list) | `trakt_list` | Finds every item in the Trakt List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt List Details](#trakt-list) | `trakt_list_details` | Finds every item in the Trakt List and updates the collection summary with the list description | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt User Watchlist](#trakt-user-watchlist) | `trakt_watchlist` | Finds every item in a Users Watchlist | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt User Collection](#trakt-user-collection) | `trakt_collection` | Finds every item in a Users Collection | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Trending](#trakt-trending) | `trakt_trending` | Finds 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: | :heavy_check_mark: |
| [Trakt Popular](#trakt-popular) | `trakt_popular` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Daily](#trakt-recommended) | `trakt_recommended_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Weekly](#trakt-recommended) | `trakt_recommended_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Monthly](#trakt-recommended) | `trakt_recommended_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Yearly](#trakt-recommended) | `trakt_recommended_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended All-Time](#trakt-recommended) | `trakt_recommended_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Daily](#trakt-watched) | `trakt_watched_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Weekly](#trakt-watched) | `trakt_watched_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Monthly](#trakt-watched) | `trakt_watched_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Yearly](#trakt-watched) | `trakt_watched_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched All-Time](#trakt-watched) | `trakt_watched_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Daily](#trakt-collected) | `trakt_collected_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Weekly](#trakt-collected) | `trakt_collected_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Monthly](#trakt-collected) | `trakt_collected_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Yearly](#trakt-collected) | `trakt_collected_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected All-Time](#trakt-collected) | `trakt_collected_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Box Office](#trakt-box-office) | `trakt_boxoffice` | Finds the 10 movies in Trakt's Top Box Office [Movies](https://trakt.tv/movies/boxoffice) list | :heavy_check_mark: | :x: | :heavy_check_mark: |
| Name | Attribute | Description | Works with Movies | Works with Shows | Works with Playlists and Custom Sort |
|:-------------------------------------------------|:----------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------|:------------------:|:------------------:|:------------------------------------:|
| [Trakt List](#trakt-list) | `trakt_list` | Finds every item in the Trakt List | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt List Details](#trakt-list) | `trakt_list_details` | Finds every item in the Trakt List and updates the collection summary with the list description | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt User Watchlist](#trakt-user-watchlist) | `trakt_watchlist` | Finds every item in a Users Watchlist | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt User Collection](#trakt-user-collection) | `trakt_collection` | Finds every item in a Users Collection | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| [Trakt Trending](#trakt-trending) | `trakt_trending` | Finds 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: | :heavy_check_mark: |
| [Trakt Popular](#trakt-popular) | `trakt_popular` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Daily](#trakt-recommended) | `trakt_recommended_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Weekly](#trakt-recommended) | `trakt_recommended_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Monthly](#trakt-recommended) | `trakt_recommended_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended Yearly](#trakt-recommended) | `trakt_recommended_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Recommended All-Time](#trakt-recommended) | `trakt_recommended_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Daily](#trakt-watched) | `trakt_watched_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Weekly](#trakt-watched) | `trakt_watched_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Monthly](#trakt-watched) | `trakt_watched_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched Yearly](#trakt-watched) | `trakt_watched_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Watched All-Time](#trakt-watched) | `trakt_watched_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Daily](#trakt-collected) | `trakt_collected_daily` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Weekly](#trakt-collected) | `trakt_collected_weekly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Monthly](#trakt-collected) | `trakt_collected_monthly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected Yearly](#trakt-collected) | `trakt_collected_yearly` | Finds 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: | :heavy_check_mark: |
| [Trakt Collected All-Time](#trakt-collected) | `trakt_collected_all` | Finds 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: | :heavy_check_mark: |
| [Trakt Box Office](#trakt-box-office) | `trakt_boxoffice` | Finds the 10 movies in Trakt's Top Box Office [Movies](https://trakt.tv/movies/boxoffice) list | :heavy_check_mark: | :x: | :heavy_check_mark: |
## Trakt List
Finds every item in the Trakt List.
@ -125,13 +125,13 @@ collections:
## Trakt Recommended
Finds 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) |
| 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.
@ -148,13 +148,13 @@ collections:
## Trakt Watched
Finds 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) |
| 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.
@ -171,13 +171,13 @@ collections:
## Trakt Collected
Finds 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) |
| 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.

@ -12,12 +12,12 @@ webhooks:
changes:
```
| Name | Attribute | 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/Playlist Changes](#changes-notifications) | `changes` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
| Name | Attribute | 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/Playlist Changes](#changes-notifications) | `changes` | :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.
@ -131,5 +131,7 @@ The Changes Notification will be sent after each collection/playlist containing
"tmdb_id": int // TMDb ID of removal only appears if it's a Movie
"tvdb_id": int // TVDb ID of removal only appears if it's a Show
],
"radarr_adds": [int], // List of TMDb IDs added to Radarr
"sonarr_adds": [int], // List of TVDb IDs added to Sonarr
}
```

@ -23,9 +23,9 @@
- [MyAnimeList Attributes](MyAnimeList-Attributes)
- [Metadata and Playlist Files](Metadata-and-Playlist-Files)
- Metadata
- [Movies Metadata](Movies-Metadata)
- [Shows Metadata](Shows-Metadata)
- [Artists Metadata](Artists-Metadata)
- [Movie Library Metadata](Movie-Library-Metadata)
- [TV Show Library Metadata](TV-Show-Library-Metadata)
- [Music Library Metadata](Music-Library-Metadata)
- [Templates](Templates)
- [Filters](Filters)
- Builders
@ -36,6 +36,7 @@
- [IMDb Builders](IMDb-Builders)
- [Trakt Builders](Trakt-Builders)
- [Tautulli Builders](Tautulli-Builders)
- [MdbList Builders](MdbList-Builders)
- [Letterboxd Builders](Letterboxd-Builders)
- [ICheckMovies Builders](ICheckMovies-Builders)
- [FlixPatrol Builders](FlixPatrol-Builders)

@ -9,12 +9,12 @@ To install a container from docker hub, you will need community applications - a
3. Create your [Docker values](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables) using `Add another Path, Port, Variable, Label or Device`. Example config:
| Config Type | Name | Key | Value | Container Path | Host Path | Access Mode | Description |
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| Variable | Time to Run | `PMM_TIME` | `6:00` | N/A | N/A | N/A | Time to update each day. Format: HH:MM |
| Variable | Divider Character | `PMM_DIVIDER` | `=` | N/A | N/A | N/A | The character that divides the sections |
| Variable | Screen Width | `PMM_WIDTH` | `100` | N/A | N/A | N/A | An integer between 90 and 300 |
| Path | Config Storage Path | N/A | N/A | `/config` | `/mnt/user/appdata/plex-meta-manager` | Read/Write | Translation from docker container path to host path |
| Config Type | Name | Key | Value | Container Path | Host Path | Access Mode | Description |
|:------------|:--------------------|:--------------|:-------|:---------------|:--------------------------------------|:------------|:----------------------------------------------------|
| Variable | Time to Run | `PMM_TIME` | `6:00` | N/A | N/A | N/A | Time to update each day. Format: HH:MM |
| Variable | Divider Character | `PMM_DIVIDER` | `=` | N/A | N/A | N/A | The character that divides the sections |
| Variable | Screen Width | `PMM_WIDTH` | `100` | N/A | N/A | N/A | An integer between 90 and 300 |
| Path | Config Storage Path | N/A | N/A | `/config` | `/mnt/user/appdata/plex-meta-manager` | Read/Write | Translation from docker container path to host path |
* Full list of docker values can be found on the [Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables).
* If you wish to enable one-time [Run]([Run Commands & Environmental Variables Page](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Run-Commands-&-Environmental-Variables#run)), add `-r` to `Post Arguments` by enabling Advanced View in the top right of unRAID.

Loading…
Cancel
Save