[15] add monitor_existing to sonarr and radarr

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

@ -3,6 +3,8 @@ Updated lxml requirement to 5.1.0
Updated gitpython requirement to 3.1.41 Updated gitpython requirement to 3.1.41
# New Features # 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 # Updates
Added new [BoxOfficeMojo Builder](https://metamanager.wiki/en/latest/files/builders/mojo/) - credit to @nwithan8 for the suggestion and initial code submission 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: ################################ token: ################################
add_missing: false add_missing: false
add_existing: false add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Movies root_folder_path: S:/Movies
monitor: true monitor: true
availability: announced availability: announced
@ -126,6 +128,8 @@ sonarr: # Can be individually specified per library as
token: ################################ token: ################################
add_missing: false add_missing: false
add_existing: false add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: "S:/TV Shows" root_folder_path: "S:/TV Shows"
monitor: all monitor: all
quality_profile: HD-1080p quality_profile: HD-1080p

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

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

@ -27,6 +27,7 @@ radarr:
add_missing: false add_missing: false
add_existing: false add_existing: false
upgrade_existing: false upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Movies root_folder_path: S:/Movies
monitor: movie monitor: movie
availability: announced 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_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 } | | `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 } | | `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 } | | `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 } | | `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 } | | `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_missing: #
add_existing: # add_existing: #
upgrade_existing: # upgrade_existing: #
monitor_existing: #
root_folder_path: /movies root_folder_path: /movies
monitor: movie monitor: movie
availability: announced availability: announced
@ -141,6 +144,7 @@ radarr:
add_missing: true add_missing: true
add_existing: false add_existing: false
upgrade_existing: false upgrade_existing: false
monitor_existing: false
root_folder_path: /movies root_folder_path: /movies
monitor: movie monitor: movie
availability: released availability: released

@ -27,6 +27,8 @@ sonarr:
token: ################################ token: ################################
add_missing: false add_missing: false
add_existing: false add_existing: false
upgrade_existing: false
monitor_existing: false
root_folder_path: S:/Shows root_folder_path: S:/Shows
monitor: all monitor: all
quality_profile: HD-1080p 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_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 } | | `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 } | | `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 } | | `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 } | | `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 } | | `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 } |
@ -81,6 +84,8 @@ sonarr:
token: # token: #
add_missing: # add_missing: #
add_existing: # add_existing: #
upgrade_existing: #
monitor_existing: #
root_folder_path: /share root_folder_path: /share
monitor: all monitor: all
quality_profile: Any quality_profile: Any
@ -149,6 +154,7 @@ sonarr:
add_missing: false add_missing: false
add_existing: false add_existing: false
upgrade_existing: false upgrade_existing: false
monitor_existing: false
root_folder_path: /data/media/shows/ozzy root_folder_path: /data/media/shows/ozzy
monitor: all monitor: all
quality_profile: Good quality_profile: Good

@ -1,6 +1,6 @@
| Variable | Description & Values | | 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) | | `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 | | `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 | | `name_<<key>>`<sup>1</sup> | **Description:** Changes the name of the specified key's collection.<br>**Values:** New Collection Name |
@ -32,6 +32,10 @@
| `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_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` | **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> | | `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` | **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_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` | **Description:** Override Radarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |
@ -42,6 +46,10 @@
| `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 | | `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` | **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 | | `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` | **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_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` | **Description:** Override Sonarr `root_folder_path` attribute for all collections in a Defaults file.<br>**Values:** Folder Path |

@ -10,6 +10,7 @@ default unless otherwise specified.
| `radarr_add_missing` | **Description:** Override Radarr `add_missing` attribute<br>**Values:** `true` or `false` | | `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_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_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_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_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` | | `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_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_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_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_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_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` | | `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()) 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"] none_details = ["label.sync", "item_label.sync", "item_genre.sync", "radarr_taglist", "sonarr_taglist", "item_edition"]
radarr_details = [ 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_search", "radarr_availability", "radarr_quality", "radarr_tag", "item_radarr_tag", "radarr_ignore_cache",
"radarr_monitor_existing"
] ]
sonarr_details = [ 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" "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"] 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 self.item_details[method_name] = str(method_data).lower() # noqa
def _radarr(self, method_name, method_data): 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") self.radarr_details[method_name[7:]] = util.parse(self.Type, method_name, method_data, datatype="bool")
elif method_name == "radarr_folder": elif method_name == "radarr_folder":
self.radarr_details["folder"] = method_data self.radarr_details["folder"] = method_data
@ -1351,7 +1350,7 @@ class CollectionBuilder:
self.builders.append((method_name, True)) self.builders.append((method_name, True))
def _sonarr(self, method_name, method_data): 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") 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"]: elif method_name in ["sonarr_folder", "sonarr_quality", "sonarr_language"]:
self.sonarr_details[method_name[7:]] = method_data 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_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), "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), "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), "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), "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"), "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_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), "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), "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), "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), "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), "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("") logger.info("")
if len(exists) > 0: if len(exists) > 0:
upgrade_qp = [] upgrade_qp = []
remonitor_existing = [] remonitor = []
for movie in exists: for movie in exists:
if movie.monitored != True and monitor_existing: if (movie.monitored != monitor and monitor_existing) or (movie.qualityProfileId != qp.id and upgrade_existing):
remonitor_existing.append(movie) if movie.monitored != monitor and monitor_existing:
else: remonitor.append(movie)
logger.info(f"Already in Radarr | {movie.tmdbId:<7} | {movie.title}")
if movie.qualityProfileId != qp.id and upgrade_existing: if movie.qualityProfileId != qp.id and upgrade_existing:
upgrade_qp.append(movie) upgrade_qp.append(movie)
else: else:
logger.info(f"Already in Radarr | {movie.tmdbId:<7} | {movie.title}") logger.info(f"Already in Radarr | {movie.tmdbId:<7} | {movie.title}")
if self.config.Cache: if self.config.Cache:
self.config.Cache.update_radarr_adds(movie.tmdbId, self.library.original_mapping_name) 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: if upgrade_qp:
self.api.edit_multiple_movies(upgrade_qp, quality_profile=qp) self.api.edit_multiple_movies(upgrade_qp, quality_profile=qp)
for movie in upgrade_qp: for movie in upgrade_qp:
logger.info(f"Quality Upgraded To {qp.name} | {movie.tmdbId:<7} | {movie.title}") 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: if len(skipped) > 0:
logger.info(f"Skipped In Cache: {skipped}") logger.info(f"Skipped In Cache: {skipped}")
logger.info("") logger.info("")

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

Loading…
Cancel
Save