[15] add monitor_existing to sonarr and radarr

pull/1840/head
meisnate12 4 months ago
parent 35898e9584
commit 30577af0e4

@ -3,6 +3,8 @@ Updated lxml requirement to 5.1.0
Updated gitpython requirement to 3.1.41
# New Features
Added `monitor_existing` to sonarr and radarr. To update the monitored status of items existing in plex to match the `monitor` declared.
# Updates
Added new [BoxOfficeMojo Builder](https://metamanager.wiki/en/latest/files/builders/mojo/) - credit to @nwithan8 for the suggestion and initial code submission

@ -1 +1 @@
1.20.0-develop14
1.20.0-develop15

@ -113,6 +113,8 @@ radarr: # Can be individually specified per library as
token: ################################
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Movies
monitor: true
availability: announced
@ -126,6 +128,8 @@ sonarr: # Can be individually specified per library as
token: ################################
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: "S:/TV Shows"
monitor: all
quality_profile: HD-1080p

@ -240,8 +240,11 @@ templates:
radarr_tag_<<key>>: <<radarr_tag>>
sonarr_tag_<<key>>: <<sonarr_tag>>
radarr_monitor_<<key>>: <<radarr_monitor>>
radarr_upgrade_existing_<<key>>: <<radarr_upgrade_existing>>
radarr_monitor_existing_<<key>>: <<radarr_monitor_existing>>
sonarr_monitor_<<key>>: <<sonarr_monitor>>
sonarr_upgrade_existing_<<key>>: <<sonarr_upgrade_existing>>
sonarr_monitor_existing_<<key>>: <<sonarr_monitor_existing>>
radarr_search_<<key>>: <<radarr_search>>
sonarr_search_<<key>>: <<sonarr_search>>
optional:
@ -252,8 +255,11 @@ templates:
- radarr_tag
- sonarr_tag
- radarr_monitor
- radarr_upgrade_existing
- radarr_monitor_existing
- sonarr_monitor
- sonarr_upgrade_existing
- sonarr_monitor_existing
- radarr_search
- sonarr_search
radarr_add_missing: <<radarr_add_missing_<<key>>>>
@ -263,8 +269,11 @@ templates:
radarr_tag: <<radarr_tag_<<key>>>>
sonarr_tag: <<sonarr_tag_<<key>>>>
radarr_monitor: <<radarr_monitor_<<key>>>>
radarr_upgrade_existing: <<radarr_upgrade_existing_<<key>>>>
radarr_monitor_existing: <<radarr_monitor_existing_<<key>>>>
sonarr_monitor: <<sonarr_monitor_<<key>>>>
sonarr_upgrade_existing: <<sonarr_upgrade_existing_<<key>>>>
sonarr_monitor_existing: <<sonarr_monitor_existing_<<key>>>>
radarr_search: <<radarr_search_<<key>>>>
sonarr_search: <<sonarr_search_<<key>>>>

@ -505,6 +505,7 @@ The available attributes for each library are as follows:
add_missing: true
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: /movies
monitor: movie
availability: released
@ -576,6 +577,7 @@ The available attributes for each library are as follows:
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: /data/media/shows/ozzy
monitor: all
quality_profile: Good

@ -27,6 +27,7 @@ radarr:
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Movies
monitor: movie
availability: announced
@ -44,6 +45,7 @@ radarr:
| `add_missing` | Adds all missing movies found from all collections to Radarr.<br>Use the `radarr_add_missing` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to add missing per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `add_existing` | Adds all existing movies in collections to Radarr.<br>Use the `radarr_add_existing` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to add existing per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `upgrade_existing` | Upgrades all existing movies in collections to match the Quality Profile of the collection.<br>Use the `radarr_upgrade_existing` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to upgrade the Quality Profile per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `monitor_existing` | Ensures all existing movies in collections match your monitor setting.<br>Use the `radarr_monitor_existing` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to match the monitor setting per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `ignore_cache` | Ignores PMM's cache when adding items to Radarr.<br>Use the `radarr_ignore_cache` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to ignore per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `root_folder_path` | Default Root Folder Path to use when adding new movies.<br>Use the `radarr_folder` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to set the Root Folder per collection. | N/A | :fontawesome-solid-circle-check:{ .green } |
| `monitor` | Monitor the movie when adding new movies.<br>Use the `radarr_monitor` [Radarr Setting](../files/arr.md#radarr-definition-settings) in the collection definition to set the Monitor value per collection.<br>**Options:** `true`, `false` | true | :fontawesome-solid-circle-xmark:{ .red } |
@ -76,6 +78,7 @@ radarr:
add_missing: #
add_existing: #
upgrade_existing: #
monitor_existing: #
root_folder_path: /movies
monitor: movie
availability: announced
@ -141,6 +144,7 @@ radarr:
add_missing: true
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: /movies
monitor: movie
availability: released

@ -27,6 +27,8 @@ sonarr:
token: ################################
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Shows
monitor: all
quality_profile: HD-1080p
@ -47,6 +49,7 @@ sonarr:
| `add_missing` | Adds all missing shows found from all collections to Sonarr.<br>Use the `sonarr_add_missing` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to add missing per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `add_existing` | Adds all existing shows in collections to Sonarr.<br>Use the `sonarr_add_existing` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to add existing per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `upgrade_existing` | Upgrades all existing shows in collections to match the Quality Profile of the collection.<br>Use the `sonarr_upgrade_existing` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to upgrade the Quality Profile per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `monitor_existing` | Ensures all existing shows in collections match your monitor setting.<br>Use the `sonarr_monitor_existing` [Sonarr Setting](../files/arr.md#sonarr-definition-settings) in the collection definition to match the monitor setting per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `ignore_cache` | Ignores PMM's cache when adding items to Sonarr.<br>Use the `sonarr_ignore_cache` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to ignore per collection.<br>**boolean:** true or false | false | :fontawesome-solid-circle-xmark:{ .red } |
| `root_folder_path` | Default Root Folder Path to use when adding new shows.<br>Use the `sonarr_folder` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to set the Root Folder per collection. | N/A | :fontawesome-solid-circle-check:{ .green } |
| `monitor` | Default Monitor to use when adding new shows.<br>Use the `sonarr_monitor` [Sonarr Settings](../files/arr.md#sonarr-definition-settings) in the collection definition to set the Monitor value per collection.<br>**Values:** <table class="clearTable"><tr><td>`all`</td><td>All episodes except specials</td></tr><tr><td>`future`</td><td>Episodes that have not aired yet</td></tr><tr><td>`missing`</td><td>Episodes that do not have files or have not aired yet</td></tr><tr><td>`existing`</td><td>Episodes that have files or have not aired yet</td></tr><tr><td>`pilot`</td><td>The first episode, all others will be ignored</td></tr><tr><td>`first`</td><td>All episodes of the first season, all others will be ignored</td></tr><tr><td>`latest`</td><td>All episodes of the latest season and future seasons</td></tr><tr><td>`none`</td><td>No episodes</td></tr></table> | `all` | :fontawesome-solid-circle-xmark:{ .red } |
@ -65,7 +68,7 @@ sonarr:
The `token` can be found by going to `Sonarr > Settings > General > Security > API Key`
The `quality_profile` and `language_profile` must be the exact name of the desired quality profile, including all
spaces and capitalization.
spaces and capitalization.
* You can set most attributes per collection by using the [Sonarr Settings](../files/arr.md#sonarr-definition-settings)
in the collection definition.
@ -81,6 +84,8 @@ sonarr:
token: #
add_missing: #
add_existing: #
upgrade_existing: #
monitor_existing: #
root_folder_path: /share
monitor: all
quality_profile: Any
@ -149,6 +154,7 @@ sonarr:
add_missing: false
add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: /data/media/shows/ozzy
monitor: all
quality_profile: Good

@ -1,57 +1,65 @@
| Variable | Description & Values |
|:-----------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `language` | **Description:** Set the language of Collection Names and Summaries<br>**Default:** `default`<br>**Values:** `default` (English), `fr` (French), or `de` (German) |
| `use_<<key>>`<sup>1</sup> | **Description:** Turns off individual Collections in a Defaults file.<br>**Values:** `false` to turn off the collection |
| `name_<<key>>`<sup>1</sup> | **Description:** Changes the name of the specified key's collection.<br>**Values:** New Collection Name |
| `summary_<<key>>`<sup>1</sup> | **Description:** Changes the summary of the specified key's collection.<br>**Values:** New Collection Summary |
| `collection_section` | **Description:** Changes the sort order of the collection sections against other default collection sections. (Use quotes to not lose leading zeros `"05"`)<br>**Values:** Any number |
| `sort_prefix` | **Description:** Changes the prefix of the sort title.<br>**Default:** `!`<br>**Values:** Any String |
| `sort_title` | **Description:** Changes the sort title of all collections.<br>**Default:** `<<sort_prefix>><<collection_section>><<pre>><<order_<<key>>>><<title>>`<br>**Values:** Any String |
| `name_mapping` | **Description:** Changes the `name_mapping` of all collections.<br>**Default:** `<<title>>`<br>**Values:** Any String with `<<key_name>>` in it. |
| `order_<<key>>`<sup>1</sup> | **Description:** Controls the sort order of the collections in their collection section.<br>**Values:** Any number |
| `collection_mode` | **Description:** Controls the collection mode of all collections in a Defaults file.<br>**Values:**<table class="clearTable"><tr><td>`default`</td><td>Library default</td></tr><tr><td>`hide`</td><td>Hide Collection</td></tr><tr><td>`hide_items`</td><td>Hide Items in this Collection</td></tr><tr><td>`show_items`</td><td>Show this Collection and its Items</td></tr></table> |
| `ignore_ids` | **Description:** Set a list or comma-separated string of TMDb/TVDb IDs to ignore in all collections.<br>**Values:** List or comma-separated string of TMDb/TVDb IDs |
| `ignore_imdb_ids` | **Description:** Set a list or comma-separated string of IMDb IDs to ignore in all collections.<br>**Values:** List or comma-separated string of IMDb IDs |
| `minimum_items` | **Description:** Set the number of minimum items for a collection to be created for all collections.<br>**Values:** Any number greater than 0 |
| `minimum_items_<<key>>`<sup>1</sup> | **Description:** Set the number of minimum items for a collection to be created for the specified key's collection.<br>**Values:** Any number greater than 0 |
| `schedule` | **Description:** Set the schedule for all of the collections in a Defaults file.<br>**Values:** Any [Scheduling Option](../config/schedule.md#important) |
| `schedule_<<key>>` | **Description:** Set the schedule for a specific key's collection.<br>**Values:** Any [Scheduling Option](../config/schedule.md#important) |
| `delete_collections_named` | **Description:** Used to delete any collections in your plex named one of the given collections.<br>**Values:** List of Collection Names to delete |
| `url_poster` | **Description:** Changes the poster url for all collections.<br>**Values:** URL directly to the Image |
| `url_poster_<<key>>`<sup>1</sup> | **Description:** Changes the poster url of the specified key's collection.<br>**Values:** URL directly to the Image |
| `file_poster` | **Description:** Sets the poster filepath for all collections.<br>**Values:** Filepath directly to the Image |
| `file_poster_<<key>>`<sup>1</sup> | **Description:** Sets the poster filepath of the specified key's collection.<br>**Values:** Filepath directly to the Image |
| `url_background` | **Description:** Sets the background url for all collections.<br>**Values:** URL directly to the Image |
| `url_background__<<key>>`<sup>1</sup> | **Description:** Sets the background url of the specified key's collection.<br>**Values:** URL directly to the Image |
| `file_background` | **Description:** Sets the background filepath for all collections.<br>**Values:** Filepath directly to the Image |
| `file_background__<<key>>`<sup>1</sup> | **Description:** Sets the background filepath of the specified key's collection.<br>**Values:** Filepath directly to the Image |
| `visible_library` | **Description:** Controls visible on Library Recommended Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_library_<<key>>`<sup>1</sup> | **Description:** Controls visible on Library Recommended Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_library`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_home` | **Description:** Controls visible on Home Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_home_<<key>>`<sup>1</sup> | **Description:** Controls visible on Home Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_home`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_shared` | **Description:** Controls visible on Shared Users' Home Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_shared_<<key>>`<sup>1</sup> | **Description:** Controls visible on Shared Users' Home Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_shared`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `radarr_add_missing` | **Description:** Override Radarr `add_missing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_add_missing_<<key>>`<sup>1</sup> | **Description:** Override Radarr `add_missing` attribute of the specified key's collection.<br>**Default:** `radarr_add_missing`<br>**Values:** `true` or `false` |
| `radarr_folder` | **Description:** Override Radarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |
| `radarr_folder_<<key>>`<sup>1</sup> | **Description:** Override Radarr `root_folder_path` attribute of the specified key's collection.<br>**Default:** `radarr_folder`<br>**Values:** Folder Path |
| `radarr_search` | **Description:** Override Radarr `search` attribute or all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_search_<<key>>`<sup>1</sup> | **Description:** Override Radarr `search` attribute of the specified key's collection.<br>**Default:** `radarr_search`<br>**Values:** `true` or `false` |
| `radarr_tag` | **Description:** Override Radarr `tag` attribute for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `radarr_tag_<<key>>`<sup>1</sup> | **Description:** Override Radarr `tag` attribute of the specified key's collection.<br>**Default:** `radarr_tag`<br>**Values:** List or comma-separated string of tags |
| `item_radarr_tag` | **Description:** Used to append a tag in Radarr for every movie found by the builders that's in Radarr for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `item_radarr_tag_<<key>>`<sup>1</sup> | **Description:** Used to append a tag in Radarr for every movie found by the builders that's in Radarr of the specified key's collection.<br>**Default:** `item_radarr_tag`<br>**Values:** List or comma-separated string of tags |
| `sonarr_add_missing` | **Description:** Override Sonarr `add_missing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_add_missing_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `add_missing` attribute of the specified key's collection.<br>**Default:** `sonarr_add_missing`<br>**Values:** `true` or `false` |
| `sonarr_folder` | **Description:** Override Sonarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |
| `sonarr_folder_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `root_folder_path` attribute of the specified key's collection.<br>**Default:** `sonarr_folder`<br>**Values:** Folder Path |
| `sonarr_search` | **Description:** Override Sonarr `search` attribute or all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_search_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `search` attribute of the specified key's collection.<br>**Default:** `sonarr_search`<br>**Values:** `true` or `false` |
| `sonarr_tag` | **Description:** Override Sonarr `tag` attribute for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `sonarr_tag_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `tag` attribute of the specified key's collection.<br>**Default:** `sonarr_tag`<br>**Values:** List or comma-separated string of tags |
| `item_sonarr_tag` | **Description:** Used to append a tag in Sonarr for every series found by the builders that's in Sonarr for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `item_sonarr_tag_<<key>>`<sup>1</sup> | **Description:** Used to append a tag in Sonarr for every series found by the builders that's in Sonarr of the specified key's collection.<br>**Default:** `item_sonarr_tag`<br>**Values:** List or comma-separated string of tags |
| Variable | Description & Values |
|:----------------------------------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `language` | **Description:** Set the language of Collection Names and Summaries<br>**Default:** `default`<br>**Values:** `default` (English), `fr` (French), or `de` (German) |
| `use_<<key>>`<sup>1</sup> | **Description:** Turns off individual Collections in a Defaults file.<br>**Values:** `false` to turn off the collection |
| `name_<<key>>`<sup>1</sup> | **Description:** Changes the name of the specified key's collection.<br>**Values:** New Collection Name |
| `summary_<<key>>`<sup>1</sup> | **Description:** Changes the summary of the specified key's collection.<br>**Values:** New Collection Summary |
| `collection_section` | **Description:** Changes the sort order of the collection sections against other default collection sections. (Use quotes to not lose leading zeros `"05"`)<br>**Values:** Any number |
| `sort_prefix` | **Description:** Changes the prefix of the sort title.<br>**Default:** `!`<br>**Values:** Any String |
| `sort_title` | **Description:** Changes the sort title of all collections.<br>**Default:** `<<sort_prefix>><<collection_section>><<pre>><<order_<<key>>>><<title>>`<br>**Values:** Any String |
| `name_mapping` | **Description:** Changes the `name_mapping` of all collections.<br>**Default:** `<<title>>`<br>**Values:** Any String with `<<key_name>>` in it. |
| `order_<<key>>`<sup>1</sup> | **Description:** Controls the sort order of the collections in their collection section.<br>**Values:** Any number |
| `collection_mode` | **Description:** Controls the collection mode of all collections in a Defaults file.<br>**Values:**<table class="clearTable"><tr><td>`default`</td><td>Library default</td></tr><tr><td>`hide`</td><td>Hide Collection</td></tr><tr><td>`hide_items`</td><td>Hide Items in this Collection</td></tr><tr><td>`show_items`</td><td>Show this Collection and its Items</td></tr></table> |
| `ignore_ids` | **Description:** Set a list or comma-separated string of TMDb/TVDb IDs to ignore in all collections.<br>**Values:** List or comma-separated string of TMDb/TVDb IDs |
| `ignore_imdb_ids` | **Description:** Set a list or comma-separated string of IMDb IDs to ignore in all collections.<br>**Values:** List or comma-separated string of IMDb IDs |
| `minimum_items` | **Description:** Set the number of minimum items for a collection to be created for all collections.<br>**Values:** Any number greater than 0 |
| `minimum_items_<<key>>`<sup>1</sup> | **Description:** Set the number of minimum items for a collection to be created for the specified key's collection.<br>**Values:** Any number greater than 0 |
| `schedule` | **Description:** Set the schedule for all of the collections in a Defaults file.<br>**Values:** Any [Scheduling Option](../config/schedule.md#important) |
| `schedule_<<key>>` | **Description:** Set the schedule for a specific key's collection.<br>**Values:** Any [Scheduling Option](../config/schedule.md#important) |
| `delete_collections_named` | **Description:** Used to delete any collections in your plex named one of the given collections.<br>**Values:** List of Collection Names to delete |
| `url_poster` | **Description:** Changes the poster url for all collections.<br>**Values:** URL directly to the Image |
| `url_poster_<<key>>`<sup>1</sup> | **Description:** Changes the poster url of the specified key's collection.<br>**Values:** URL directly to the Image |
| `file_poster` | **Description:** Sets the poster filepath for all collections.<br>**Values:** Filepath directly to the Image |
| `file_poster_<<key>>`<sup>1</sup> | **Description:** Sets the poster filepath of the specified key's collection.<br>**Values:** Filepath directly to the Image |
| `url_background` | **Description:** Sets the background url for all collections.<br>**Values:** URL directly to the Image |
| `url_background__<<key>>`<sup>1</sup> | **Description:** Sets the background url of the specified key's collection.<br>**Values:** URL directly to the Image |
| `file_background` | **Description:** Sets the background filepath for all collections.<br>**Values:** Filepath directly to the Image |
| `file_background__<<key>>`<sup>1</sup> | **Description:** Sets the background filepath of the specified key's collection.<br>**Values:** Filepath directly to the Image |
| `visible_library` | **Description:** Controls visible on Library Recommended Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_library_<<key>>`<sup>1</sup> | **Description:** Controls visible on Library Recommended Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_library`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_home` | **Description:** Controls visible on Home Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_home_<<key>>`<sup>1</sup> | **Description:** Controls visible on Home Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_home`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_shared` | **Description:** Controls visible on Shared Users' Home Tab for all collections in a Defaults file. (Only works with Plex Pass)<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `visible_shared_<<key>>`<sup>1</sup> | **Description:** Controls visible on Shared Users' Home Tab of the specified key's collection. (Only works with Plex Pass)<br>**Default:** `visible_shared`<br>**Values:**<table class="clearTable"><tr><td>`true`</td><td>Visible</td></tr><tr><td>`false`</td><td>Not Visible</td></tr><tr><td>[Any `schedule` Option](../config/schedule.md)</td><td>Visible When Scheduled</td></tr></table> |
| `radarr_upgrade_existing` | **Description:** Override Radarr `upgrade_existing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_upgrade_existing_<<key>>`<sup>1</sup> | **Description:** Override Radarr `upgrade_existing` attribute of the specified key's collection.<br>**Values:** `true` or `false` |
| `radarr_monitor_existing` | **Description:** Override Radarr `monitor_existing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_monitor_existing_<<key>>`<sup>1</sup> | **Description:** Override Radarr `monitor_existing` attribute of the specified key's collection.<br>**Values:** `true` or `false` |
| `radarr_add_missing` | **Description:** Override Radarr `add_missing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_add_missing_<<key>>`<sup>1</sup> | **Description:** Override Radarr `add_missing` attribute of the specified key's collection.<br>**Default:** `radarr_add_missing`<br>**Values:** `true` or `false` |
| `radarr_folder` | **Description:** Override Radarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |
| `radarr_folder_<<key>>`<sup>1</sup> | **Description:** Override Radarr `root_folder_path` attribute of the specified key's collection.<br>**Default:** `radarr_folder`<br>**Values:** Folder Path |
| `radarr_search` | **Description:** Override Radarr `search` attribute or all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `radarr_search_<<key>>`<sup>1</sup> | **Description:** Override Radarr `search` attribute of the specified key's collection.<br>**Default:** `radarr_search`<br>**Values:** `true` or `false` |
| `radarr_tag` | **Description:** Override Radarr `tag` attribute for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `radarr_tag_<<key>>`<sup>1</sup> | **Description:** Override Radarr `tag` attribute of the specified key's collection.<br>**Default:** `radarr_tag`<br>**Values:** List or comma-separated string of tags |
| `item_radarr_tag` | **Description:** Used to append a tag in Radarr for every movie found by the builders that's in Radarr for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `item_radarr_tag_<<key>>`<sup>1</sup> | **Description:** Used to append a tag in Radarr for every movie found by the builders that's in Radarr of the specified key's collection.<br>**Default:** `item_radarr_tag`<br>**Values:** List or comma-separated string of tags |
| `sonarr_upgrade_existing` | **Description:** Override Sonarr `upgrade_existing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_upgrade_existing_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `upgrade_existing` attribute of the specified key's collection.<br>**Values:** `true` or `false` |
| `sonarr_monitor_existing` | **Description:** Override Sonarr `monitor_existing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_monitor_existing_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `monitor_existing` attribute of the specified key's collection.<br>**Values:** `true` or `false` |
| `sonarr_add_missing` | **Description:** Override Sonarr `add_missing` attribute for all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_add_missing_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `add_missing` attribute of the specified key's collection.<br>**Default:** `sonarr_add_missing`<br>**Values:** `true` or `false` |
| `sonarr_folder` | **Description:** Override Sonarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |
| `sonarr_folder_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `root_folder_path` attribute of the specified key's collection.<br>**Default:** `sonarr_folder`<br>**Values:** Folder Path |
| `sonarr_search` | **Description:** Override Sonarr `search` attribute or all collections in a Defaults file.<br>**Values:** `true` or `false` |
| `sonarr_search_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `search` attribute of the specified key's collection.<br>**Default:** `sonarr_search`<br>**Values:** `true` or `false` |
| `sonarr_tag` | **Description:** Override Sonarr `tag` attribute for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `sonarr_tag_<<key>>`<sup>1</sup> | **Description:** Override Sonarr `tag` attribute of the specified key's collection.<br>**Default:** `sonarr_tag`<br>**Values:** List or comma-separated string of tags |
| `item_sonarr_tag` | **Description:** Used to append a tag in Sonarr for every series found by the builders that's in Sonarr for all collections in a Defaults file.<br>**Values:** List or comma-separated string of tags |
| `item_sonarr_tag_<<key>>`<sup>1</sup> | **Description:** Used to append a tag in Sonarr for every series found by the builders that's in Sonarr of the specified key's collection.<br>**Default:** `item_sonarr_tag`<br>**Values:** List or comma-separated string of tags |
1. Each default collection has a `key` that when calling to effect a specific collection you must replace `<<key>>` with
when calling.

@ -10,6 +10,7 @@ default unless otherwise specified.
| `radarr_add_missing` | **Description:** Override Radarr `add_missing` attribute<br>**Values:** `true` or `false` |
| `radarr_add_existing` | **Description:** Override Radarr `add_existing` attribute<br>**Values:** `true` or `false` |
| `radarr_upgrade_existing` | **Description:** Override Radarr `upgrade_existing` attribute<br>**Values:** `true` or `false` |
| `radarr_monitor_existing` | **Description:** Override Radarr `monitor_existing` attribute<br>**Values:** `true` or `false` |
| `radarr_ignore_cache` | **Description:** Override Radarr `ignore_cache` attribute<br>**Values:** `true` or `false` |
| `radarr_folder` | **Description:** Override Radarr `root_folder_path` attribute<br>**Values:** Folder Path |
| `radarr_monitor` | **Description:** Override Radarr `monitor` attribute<br>**Values:** `movie`, `collection`, or `none` |
@ -31,6 +32,7 @@ default unless otherwise specified.
| `sonarr_add_missing` | **Description:** Override Sonarr `add_missing` attribute<br>**Values:** `true` or `false` |
| `sonarr_add_existing` | **Description:** Override Sonarr `add_existing` attribute<br>**Values:** `true` or `false` |
| `sonarr_upgrade_existing` | **Description:** Override Sonarr `upgrade_existing` attribute<br>**Values:** `true` or `false` |
| `sonarr_monitor_existing` | **Description:** Override Sonarr `monitor_existing` attribute<br>**Values:** `true` or `false` |
| `sonarr_ignore_cache` | **Description:** Override Sonarr `ignore_cache` attribute<br>**Values:** `true` or `false` |
| `sonarr_folder` | **Description:** Override Sonarr `root_folder_path` attribute<br>**Values:** Folder Path |
| `sonarr_monitor` | **Description:** Override Sonarr `monitor` attribute<br>**Values:** `all`, `future`, `missing`, `existing`, `pilot`, `first`, `latest`, `none` |

@ -60,12 +60,11 @@ item_bool_details = ["item_tmdb_season_titles", "revert_overlay", "item_assets",
item_details = ["non_item_remove_label", "item_label", "item_genre", "item_edition", "item_radarr_tag", "item_sonarr_tag", "item_refresh_delay"] + item_bool_details + list(plex.item_advance_keys.keys())
none_details = ["label.sync", "item_label.sync", "item_genre.sync", "radarr_taglist", "sonarr_taglist", "item_edition"]
radarr_details = [
"radarr_add_missing", "radarr_add_existing", "radarr_upgrade_existing", "radarr_folder", "radarr_monitor",
"radarr_add_missing", "radarr_add_existing", "radarr_upgrade_existing", "radarr_monitor_existing", "radarr_folder", "radarr_monitor",
"radarr_search", "radarr_availability", "radarr_quality", "radarr_tag", "item_radarr_tag", "radarr_ignore_cache",
"radarr_monitor_existing"
]
sonarr_details = [
"sonarr_add_missing", "sonarr_add_existing", "sonarr_upgrade_existing", "sonarr_folder", "sonarr_monitor", "sonarr_language",
"sonarr_add_missing", "sonarr_add_existing", "sonarr_upgrade_existing", "sonarr_monitor_existing", "sonarr_folder", "sonarr_monitor", "sonarr_language",
"sonarr_series", "sonarr_quality", "sonarr_season", "sonarr_search", "sonarr_cutoff_search", "sonarr_tag", "item_sonarr_tag", "sonarr_ignore_cache"
]
album_details = ["non_item_remove_label", "item_label", "item_album_sorting"]
@ -1332,7 +1331,7 @@ class CollectionBuilder:
self.item_details[method_name] = str(method_data).lower() # noqa
def _radarr(self, method_name, method_data):
if method_name in ["radarr_add_missing", "radarr_add_existing", "radarr_upgrade_existing", "radarr_search", "radarr_monitor", "radarr_ignore_cache", "radarr_monitor_existing"]:
if method_name in ["radarr_add_missing", "radarr_add_existing", "radarr_upgrade_existing", "radarr_monitor_existing", "radarr_search", "radarr_monitor", "radarr_ignore_cache"]:
self.radarr_details[method_name[7:]] = util.parse(self.Type, method_name, method_data, datatype="bool")
elif method_name == "radarr_folder":
self.radarr_details["folder"] = method_data
@ -1351,7 +1350,7 @@ class CollectionBuilder:
self.builders.append((method_name, True))
def _sonarr(self, method_name, method_data):
if method_name in ["sonarr_add_missing", "sonarr_add_existing", "sonarr_upgrade_existing", "sonarr_season", "sonarr_search", "sonarr_cutoff_search", "sonarr_ignore_cache"]:
if method_name in ["sonarr_add_missing", "sonarr_add_existing", "sonarr_upgrade_existing", "sonarr_monitor_existing", "sonarr_season", "sonarr_search", "sonarr_cutoff_search", "sonarr_ignore_cache"]:
self.sonarr_details[method_name[7:]] = util.parse(self.Type, method_name, method_data, datatype="bool")
elif method_name in ["sonarr_folder", "sonarr_quality", "sonarr_language"]:
self.sonarr_details[method_name[7:]] = method_data

@ -745,6 +745,7 @@ class ConfigFile:
"add_missing": check_for_attribute(self.data, "add_missing", parent="sonarr", var_type="bool", default=False),
"add_existing": check_for_attribute(self.data, "add_existing", parent="sonarr", var_type="bool", default=False),
"upgrade_existing": check_for_attribute(self.data, "upgrade_existing", parent="sonarr", var_type="bool", default=False),
"monitor_existing": check_for_attribute(self.data, "monitor_existing", parent="sonarr", var_type="bool", default=False),
"ignore_cache": check_for_attribute(self.data, "ignore_cache", parent="sonarr", var_type="bool", default=False),
"root_folder_path": check_for_attribute(self.data, "root_folder_path", parent="sonarr", default_is_none=True),
"monitor": check_for_attribute(self.data, "monitor", parent="sonarr", test_list=sonarr.monitor_descriptions, default="all"),
@ -1137,6 +1138,7 @@ class ConfigFile:
"add_missing": check_for_attribute(lib, "add_missing", parent="sonarr", var_type="bool", default=self.general["sonarr"]["add_missing"], save=False),
"add_existing": check_for_attribute(lib, "add_existing", parent="sonarr", var_type="bool", default=self.general["sonarr"]["add_existing"], save=False),
"upgrade_existing": check_for_attribute(lib, "upgrade_existing", parent="sonarr", var_type="bool", default=self.general["sonarr"]["upgrade_existing"], save=False),
"monitor_existing": check_for_attribute(lib, "monitor_existing", parent="sonarr", var_type="bool", default=self.general["sonarr"]["monitor_existing"], save=False),
"ignore_cache": check_for_attribute(lib, "ignore_cache", parent="sonarr", var_type="bool", default=self.general["sonarr"]["ignore_cache"], save=False),
"root_folder_path": check_for_attribute(lib, "root_folder_path", parent="sonarr", default=self.general["sonarr"]["root_folder_path"], req_default=True, save=False),
"monitor": check_for_attribute(lib, "monitor", parent="sonarr", test_list=sonarr.monitor_descriptions, default=self.general["sonarr"]["monitor"], save=False),

@ -160,26 +160,25 @@ class Radarr:
logger.info("")
if len(exists) > 0:
upgrade_qp = []
remonitor_existing = []
remonitor = []
for movie in exists:
if movie.monitored != True and monitor_existing:
remonitor_existing.append(movie)
else:
logger.info(f"Already in Radarr | {movie.tmdbId:<7} | {movie.title}")
if movie.qualityProfileId != qp.id and upgrade_existing:
upgrade_qp.append(movie)
if (movie.monitored != monitor and monitor_existing) or (movie.qualityProfileId != qp.id and upgrade_existing):
if movie.monitored != monitor and monitor_existing:
remonitor.append(movie)
if movie.qualityProfileId != qp.id and upgrade_existing:
upgrade_qp.append(movie)
else:
logger.info(f"Already in Radarr | {movie.tmdbId:<7} | {movie.title}")
if self.config.Cache:
self.config.Cache.update_radarr_adds(movie.tmdbId, self.library.original_mapping_name)
if remonitor_existing:
self.api.edit_multiple_movies(remonitor_existing, monitored=True)
for movie in remonitor_existing:
logger.info(f"Remonitored in Radarr | {movie.tmdbId:<7} | {movie.title}")
if upgrade_qp:
self.api.edit_multiple_movies(upgrade_qp, quality_profile=qp)
for movie in upgrade_qp:
logger.info(f"Quality Upgraded To {qp.name} | {movie.tmdbId:<7} | {movie.title}")
if remonitor:
self.api.edit_multiple_movies(remonitor, monitored=monitor)
for movie in remonitor:
logger.info(f"Monitored: {monitor} in Radarr | {movie.tmdbId:<7} | {movie.title}")
if len(skipped) > 0:
logger.info(f"Skipped In Cache: {skipped}")
logger.info("")

@ -46,6 +46,7 @@ class Sonarr:
self.add_missing = params["add_missing"]
self.add_existing = params["add_existing"]
self.upgrade_existing = params["upgrade_existing"]
self.monitor_existing = params["monitor_existing"]
self.root_folder_path = params["root_folder_path"]
self.monitor = params["monitor"]
self.quality_profile = params["quality_profile"]
@ -75,6 +76,7 @@ class Sonarr:
for tvdb_id in _paths:
logger.debug(tvdb_id)
upgrade_existing = options["upgrade_existing"] if "upgrade_existing" in options else self.upgrade_existing
monitor_existing = options["monitor_existing"] if "monitor_existing" in options else self.monitor_existing
ignore_cache = options["ignore_cache"] if "ignore_cache" in options else self.ignore_cache
folder = options["folder"] if "folder" in options else self.root_folder_path
monitor = monitor_translation[options["monitor"] if "monitor" in options else self.monitor]
@ -87,6 +89,7 @@ class Sonarr:
search = options["search"] if "search" in options else self.search
cutoff_search = options["cutoff_search"] if "cutoff_search" in options else self.cutoff_search
logger.trace(f"Upgrade Existing: {upgrade_existing}")
logger.trace(f"Monitor Existing: {monitor_existing}")
logger.trace(f"Ignore Cache: {ignore_cache}")
logger.trace(f"Folder: {folder}")
logger.trace(f"Monitor: {monitor}")
@ -181,9 +184,13 @@ class Sonarr:
logger.info("")
if len(exists) > 0:
upgrade_qp = []
remonitor = []
for series in exists:
if series.qualityProfileId != qp.id and upgrade_existing:
upgrade_qp.append(series)
if monitor_existing or (series.qualityProfileId != qp.id and upgrade_existing):
if monitor_existing:
remonitor.append(series)
if series.qualityProfileId != qp.id and upgrade_existing:
upgrade_qp.append(series)
else:
logger.info(f"Already in Sonarr | {series.tvdbId:<7} | {series.title}")
if self.config.Cache:
@ -192,6 +199,10 @@ class Sonarr:
self.api.edit_multiple_series(upgrade_qp, quality_profile=qp)
for series in upgrade_qp:
logger.info(f"Quality Upgraded To {qp.name} | {series.tvdbId:<7} | {series.title}")
if remonitor:
self.api.edit_multiple_series(remonitor, monitor=monitor)
for series in remonitor:
logger.info(f"Monitored: {monitor} in Sonarr | {series.tvdbId:<7} | {series.title}")
if len(skipped) > 0:
logger.info(f"Skipped In Cache: {skipped}")
logger.info("")

Loading…
Cancel
Save