wiki update 1.7.0

master
meisnate12 3 years ago
parent f20a3cb248
commit f377ffe0d0

@ -44,7 +44,7 @@ collections:
```
## AniList Seasonal Anime
Gets anime in AniList's Seasonal Anime list the options are detailed below..
Gets anime in AniList's Seasonal Anime list the options are detailed below.
| Attribute | Description | Required | Default |
| :--- | :--- | :---: | :---: |

@ -47,13 +47,15 @@ collections:
The available collection details attributes for each collection are split into different sections
* [Settings Attributes](#settings-attributes)
* [Settings Attributes](#setting-attributes)
* [Radarr Attributes](#radarr-attributes)
* [Sonarr Attributes](#sonarr-attributes)
* [Metadata Attributes](#metadata-attributes)
* [Summary Attributes](#summary-attributes)
* [Poster Attributes](#poster-attributes)
* [Background Attributes](#background-attributes)
## Settings Attributes
## Setting Attributes
All the following attributes serve various functions as how the collection functions inside of Plex Meta Manager.
| Name | Attribute | Description | Allowed Values |
@ -62,15 +64,42 @@ All the following attributes serve various functions as how the collection funct
| Template | `template` | Used to specify a template and template variables to use for this collection | [`template` mapping details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Template-Attributes) |
| Run Again | `run_again` | Used to try and add all the items missing from the collection to the collection again after the daily run. | **boolean:** `true` or `false` |
| Sync Mode | `sync_mode` | Used to change how collection builders sync with this collection<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 |
| Add to Radarr/Sonarr | `add_to_arr` | Collection level `add` toggle for Randar/Sonarr<br>**Default:** [Randar](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes)/[Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | **boolean:** `true` or `false` |
| Radarr/Sonarr Tags | `arr_tag` | Collection level `tag` attribute override for Randar/Sonarr<br>**Default:** [Randar](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes)/[Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | Comma-seperated string of tags |
| Show Filtered Collections | `show_filtered` | Collection level `show_filtered` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Show Missing Collections | `show_missing` | Collection level `show_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Save Missing Collections | `save_missing` | Collection level `save_missing` toggle<br>**Default:** [settings library value](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes) | **boolean:** `true` or `false` |
| Name Mapping | `name_mapping` | Used to specify the folder name in the [Image Assets Directory](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Settings-Attributes#image-asset-directory) | Folder Name In Assets Directory |
| Test Mode | `test` | When running in Test Mode (`---run-tests` [option](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Local-Installation#run-tests)) only collections with `test: true` will be run<br>**Default:** false | **boolean:** `true` or `false` |
* **Name Mapping:** If your collection name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*` cannot be in the file path) but you want them in your collection name you can use the `name_mapping` attribute to specific this collection's name in the file system.
* **Name Mapping:** If your collection name contains characters that are not allowed in file paths (i.e. for windows `<`, `>`, `:`, `"`, `/`, `\`, `|`, `?`, `*` cannot be in the file path), but you want them in your collection name you can use the `name_mapping` attribute to specific this collection's name in the file system.
## Radarr Attributes
All the following attributes can override the global [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) attributes.
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| Radarr Add | `radarr_add` | Collection level `add` toggle for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | **boolean:** `true` or `false` |
| Radarr Root Folder | `radarr_folder` | Collection level `root_folder_path` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | Folder Path |
| Radarr Monitor | `radarr_monitor` | Collection level `monitor` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | **boolean:** `true` or `false` |
| Radarr Availability | `radarr_availability` | Collection level `availability` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | `announced`, `cinemas`, `released`, `db` |
| Radarr Quality Profile | `radarr_quality` | Collection level `quality_profile` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | Radarr Quality Profile |
| Radarr Tag | `radarr_tag` | Collection level `tag` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | List or comma-separated string of tags |
| Radarr Search | `radarr_search` | Collection level `search` attribute override for Radarr<br>**Default:** [Radarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Radarr-Attributes) library value | **boolean:** `true` or `false` |
## Sonarr Attributes
All the following attributes can override the global [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) attributes.
| Name | Attribute | Description | Allowed Values |
| :--- | :--- | :--- | :--- |
| Sonarr Add | `sonarr_add` | Collection level `add` toggle for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | **boolean:** `true` or `false` |
| Sonarr Root Folder | `sonarr_folder` | Collection level `root_folder_path` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | Folder Path |
| Sonarr Monitor | `sonarr_monitor` | Collection level `monitor` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | `all`, `future`, `missing`, `existing`, `pilot`, `first`, `latest`, `none` |
| Sonarr Quality Profile | `sonarr_quality` | Collection level `quality_profile` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | Sonarr Quality Profile |
| Sonarr Language Profile | `sonarr_language` | Collection level `language_profile` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | Sonarr Language Profile |
| Sonarr Series Type | `sonarr_series` | Collection level `series_type` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | `standard`, `daily`, `anime` |
| Sonarr Season Folder | `sonarr_season` | Collection level `season_folder` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | **boolean:** `true` or `false` |
| Sonarr Tag | `sonarr_tag` | Collection level `tag` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | List or comma-separated string of tags |
| Sonarr Search | `sonarr_search` | Collection level `search` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | **boolean:** `true` or `false` |
| Sonarr Cutoff Search | `sonarr_cutoff_search` | Collection level `cutoff_search` attribute override for Sonarr<br>**Default:** [Sonarr](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Sonarr-Attributes) library value | **boolean:** `true` or `false` |
## Metadata Attributes
All the following attributes update various details of the collection's Metadata.
@ -80,12 +109,11 @@ All the following attributes update various details of the collection's Metadata
| TMDb Person | `tmdb_person` | Used to change the collection'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) |
| Sort Title | `sort_title` | Used to change the collection's sort title | Text to change Sort Title |
| Content Rating | `content_rating` | Used to change the collection's content rating | Text to change Content Rating |
| Label | `label` | Used to change the collection's labels | Comma-seperated string of labels to append or sync |
| Label Sync Mode | `label_sync_mode` | Used with `label` to change the label sync mode<br><strong>Default Mode:</strong> `append` | `append`: Only Add Labels to the Item<br>`sync`: Add & Remove Labels from the Item |
| Label | `label` | Used to change the collection's labels | Comma-separated string of labels to append or sync |
| Label Sync Mode | `label_sync_mode` | Used with `label` to change the label sync mode<br>**Default Mode:** `append` | `append`: Only Add Labels to the Item<br>`sync`: Add & Remove Labels from the Item |
| 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 |
| Collection Order | `collection_order` | Used to change the Collection Order | `release`: Order Collection by Release Dates<br>`alpha`: Order Collection Alphabetically | :heavy_check_mark: | :heavy_check_mark: |
* **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 `~`.
* **Collection Order:** At this moment, Plex only allows filtering by alphabetical order or by release date, if you want Plex to allow a custom order please vote or post a comment on the Plex forum: [Topic - Plex Custom Collection Sorting](https://forums.plex.tv/t/custom-collection-sorting-machete-order/236226)

@ -4,6 +4,8 @@ You can have multiple collection filters but a movie/show must match at least on
All collection filter options are listed below. To display collections filtered out add `show_filtered: true` to the collection.
**Filters can be very slow. Try to build your collection using [Plex Search](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#plex-search) if possible.**
### Standard Filters
| Standard Filters | Description | Movie<br>Libraries | Show<br>Libraries |
@ -23,7 +25,7 @@ All collection filter options are listed below. To display collections filtered
| `audio_track_title` | Matches every movie where any audio track contains the specified string | :heavy_check_mark: | :x: |
| `subtitle_language` | Matches every movie with the specified subtitle language | :heavy_check_mark: | :x: |
* Standard filters can have multiple values either by being a list or a comma-separated string
* Standard filters can have multiple values either by being a list or a comma-separated string.
* You can also use the `.not` at the end of any standard collection filter to do an inverse search matching everything that doesn't have the value specified. You can use `plex_all: true` to start your filter from your entire library.
* Using the `original_language` filter will also filter out movies from being added to Radarr.
@ -34,8 +36,10 @@ All collection filter options are listed below. To display collections filtered
| `max_age` | Matches any movie/show whose Originally Available date is within the last specified number of days | :heavy_check_mark: | :heavy_check_mark: |
| `year.gte` | Matches any movie/show whose year is greater then or equal to the specified year | :heavy_check_mark: | :heavy_check_mark: |
| `year.lte` | Matches any movie/show whose year is less then or equal to the specified year | :heavy_check_mark: | :heavy_check_mark: |
| `rating.gte` | Matches any movie/show whose rating is greater then or equal to the specified rating | :heavy_check_mark: | :heavy_check_mark: |
| `rating.lte` | Matches any movie/show whose rating is less then or equal to the specified rating | :heavy_check_mark: | :heavy_check_mark: |
| `critic_rating.gte` | Matches any movie/show whose critic rating is greater then or equal to the specified critic rating | :heavy_check_mark: | :heavy_check_mark: |
| `critic_rating.lte` | Matches any movie/show whose critic rating is less then or equal to the specified critic rating | :heavy_check_mark: | :heavy_check_mark: |
| `audience_rating.gte` | Matches any movie/show whose audience rating is greater then or equal to the specified audience rating | :heavy_check_mark: | :heavy_check_mark: |
| `audience_rating.lte` | Matches any movie/show whose audience rating is less then or equal to the specified audience rating | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_vote_count.gte` | Matches any movie/show whose TMDb vote count is greater then or equal to the specified count | :heavy_check_mark: | :heavy_check_mark: |
| `tmdb_vote_count.lte` | Matches any movie/show whose TMDb vote count is less then or equal to the specified count | :heavy_check_mark: | :heavy_check_mark: |
| `duration.gte` | Matches any movie/show whose duration is greater then or equal to the specified duration in minutes | :heavy_check_mark: | :x: |
@ -43,7 +47,7 @@ All collection filter options are listed below. To display collections filtered
| `originally_available.gte` | Matches any movie/show whose originally_available date is greater then or equal to the specified originally_available date<br>**Format:** MM/DD/YYYY | :heavy_check_mark: | :heavy_check_mark: |
| `originally_available.lte` | Matches any movie/show whose originally_available date is less then or equal to the specified originally_available date<br>**Format:** MM/DD/YYYY | :heavy_check_mark: | :heavy_check_mark: |
* Advance filters can not take multiple values
* Advance filters can not take multiple values.
* Using the `tmdb_vote_count.gte` or `tmdb_vote_count.lte` filter will also filter out movies from being added to Radarr.
### Collection Filter Examples

@ -1,5 +1,9 @@
The script utilizes a YAML config file to load information to connect to the various APIs you can connect with.
By default, the script looks at `/config/config.yml` for the Configuration File unless otherwise specified.
A template Configuration File can be found in the repo [config/config.yml.template](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/config/config.yml.template).
The YAML mappings that can be set in the configuration file's root:
| Name | YAML Attribute | Required |

@ -16,7 +16,6 @@ Example
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager
```
### Commands
| Name | Shell Command | Environmental<br>Variable | Allowed Values | Default Value |
@ -26,48 +25,56 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
| [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](#run-collections) | `-cl` or `--collections` | `PMM_COLLECTIONS` | Process only specified collections (comma-separated list) | ` ` |
| [Resume Run](#resume-run) | `re` or `--resume` | `PMM_RESUME` | Run starting with the specified collection | ` ` |
| [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
## Config
To choose the location of the YAML config file
To choose the location of the YAML config file use the `--config` option
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config <path_to_config>
```
## Time to Run
To choose the time when the script will run each day
To choose the time when the script will run each day use the `--time` option
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config /configs/config.yml --time 22:00
```
## Run
To just run the script without having it continuously run use the --run option
To just run the script without having it continuously run use the `--run` option
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config /configs/config.yml --run
```
## Run Tests
To run the script in debug mode while only running collections that have `test: true` use the --run-tests option
To run the script in debug mode while only running collections that have `test: true` use the `--run-tests` option
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config /configs/config.yml --run-tests
```
## Run Collections
To have the script run only using the collections in the comma-separated list use the --collections option
To have the script run only using the collections in the comma-separated list use the `--collections` option
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config /configs/config.yml --collections "Harry Potter, Star Wars"
```
## Resume Run
To have the script resume a run from a specific collection use the `--resume` option
```shell
python plex_meta_manager.py --config /configs/config.yml --resume "Star Wars"
```
## Divider Character & Screen Width
To change the terminal output divider character or width use --divider and --width
To change the terminal output divider character or width use `--divider` and `--width`
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --divider * --width 200

@ -21,6 +21,6 @@ The available attributes for each episode are as follows
| :--- | :--- | :--- |
| 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><strong>Format:</strong> YYYY-MM-DD |
| 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 |

@ -6,20 +6,20 @@ This wiki should tell you everything you need to know about the script to get it
## Getting Started
* [Local Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Local-Installation)
* [Docker Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation)
* [unRAID Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Installation)
* [Example Configuration File](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/config/config.yml.template)
* [Example Metadata File](https://github.com/meisnate12/Plex-Meta-Manager/blob/master/config/Movies.yml.template)
1. Install Plex Meta Manager either by installing Python3 and following the [Local Installation Guide](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Local-Installation)
or by installing Docker and following the [Docker Installation Guide](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation) or the [unRAID Installation Guide](https://github.com/meisnate12/Plex-Meta-Manager/wiki/unRAID-Installation)
2. Once installed, you have to create a [Configuration File](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Configuration-File) filled with all your values to connect to the various services.
3. After that you can start updating Metadata and building automatic Collections by creating a [Metadata File](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Metadata-File) for each Library you want to interact with.
4. Explore the [Wiki](https://github.com/meisnate12/Plex-Meta-Manager/wiki) to see all the different Collection Builders that can be used to create collections.
## Support
* Before posting on Github about an enhancement, error, or configuration question please visit the [Plex Meta Manager Discord Server](https://discord.gg/NfH6mGFuAB)
* If you're getting an Error or have an Enhancement post in the [Issues](https://github.com/meisnate12/Plex-Meta-Manager/issues)
* If you have a configuration question visit the [Discussions](https://github.com/meisnate12/Plex-Meta-Manager/discussions)
* To see user submitted Metadata configuration files and you could even add your own go to the [Plex Meta Manager Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs)
* Pull Request are welcome but please submit them to the develop branch
* If you wish to contribute to the Wiki please fork and send a pull request on the [Plex Meta Manager Wiki Repository](https://github.com/meisnate12/Plex-Meta-Manager-Wiki)
* Before posting on Github about an enhancement, error, or configuration question please visit the [Plex Meta Manager Discord Server](https://discord.gg/NfH6mGFuAB).
* If you're getting an Error or have an Enhancement post in the [Issues](https://github.com/meisnate12/Plex-Meta-Manager/issues).
* If you have a configuration question post in the [Discussions](https://github.com/meisnate12/Plex-Meta-Manager/discussions).
* To see user submitted Metadata configuration files, and you to even add your own, go to the [Plex Meta Manager Configs](https://github.com/meisnate12/Plex-Meta-Manager-Configs).
* Pull Request are welcome but please submit them to the develop branch.
* If you wish to contribute to the Wiki please fork and send a pull request on the [Plex Meta Manager Wiki Repository](https://github.com/meisnate12/Plex-Meta-Manager-Wiki).
## Table of Contents
- [Home](Home)

@ -30,7 +30,7 @@ The available attributes for each library are as follows
| 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: |
* Each library must have a different name. If you want to use multiple libraries with the same name you can use the `library_name` attribute to specify the real Library Name and just have a place holder in the library map. A simple example is below:
* Each library must have a different name. If you want to use multiple libraries with the same name you can use the `library_name` attribute to specify the real Library Name and just have a placeholder as the library mapping name. A simple example is below:
```yaml
libraries:

@ -25,48 +25,56 @@ python plex_meta_manager.py
| [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](#run-collections) | `-cl` or `--collections` | `PMM_COLLECTIONS` | Process only specified collections (comma-separated list) | ` ` |
| [Resume Run](#resume-run) | `re` or `--resume` | `PMM_RESUME` | Run starting with the specified collection | ` ` |
| [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
## Config
To choose the location of the YAML config file
To choose the location of the YAML config file use the `--config` option
```shell
python plex_meta_manager.py --config <path_to_config>
```
## Time to Run
To choose the time when the script will run each day
To choose the time when the script will run each day use the `--time` option
```shell
python plex_meta_manager.py --config /configs/config.yml --time 22:00
```
## Run
To just run the script without having it continuously run use the --run option
To just run the script without having it continuously run use the `--run` option
```shell
python plex_meta_manager.py --config /configs/config.yml --run
```
## Run Tests
To run the script in debug mode while only running collections that have `test: true` use the --run-tests option
To run the script in debug mode while only running collections that have `test: true` use the `--run-tests` option
```shell
python plex_meta_manager.py --config /configs/config.yml --run-tests
```
## Run Collections
To have the script run only using the collections in the comma-separated list use the --collections option
To have the script run only using the collections in the comma-separated list use the `--collections` option
```shell
python plex_meta_manager.py --config /configs/config.yml --collections "Harry Potter, Star Wars"
```
## Resume Run
To have the script resume a run from a specific collection use the `--resume` option
```shell
python plex_meta_manager.py --config /configs/config.yml --resume "Star Wars"
```
## Divider Character & Screen Width
To change the terminal output divider character or width use --divider and --width
To change the terminal output divider character or width use `--divider` and `--width`
```shell
python plex_meta_manager.py --divider * --width 200

@ -46,16 +46,16 @@ The available attributes for each movie/show are as follows
| TMDb Show ID | `tmdb_id` | TMDb Show ID to use for metadata useful for miniseries that have been compiled into a movie | :heavy_check_mark: | :x: |
| Original Title | `original_title` | Text to change Original Title | :heavy_check_mark: | :heavy_check_mark: |
| Sort Title | `sort_title` | Text to change Sort Title | :heavy_check_mark: | :heavy_check_mark: |
| Originally Available | `originally_available` | Date to change Originally Available<br><strong>Format:</strong> YYYY-MM-DD | :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: |
| Rating | `rating` | Number to change Rating | :heavy_check_mark:| :heavy_check_mark: |
| Content Rating | `content_rating` | Text to change Content 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: |
| Genre | `genre` | List or comma-separated text of each Genre | :heavy_check_mark: | :heavy_check_mark: |
| Genre Sync Mode | `genre_sync_mode` | `append`: Only Add Genres to the Item<br>`sync`: Add & Remove Genres from the Item<br><strong>Default Mode:</strong> `append` | :heavy_check_mark: | :heavy_check_mark: |
| Genre Sync Mode | `genre_sync_mode` | `append`: Only Add Genres to the Item<br>`sync`: Add & Remove Genres from the Item<br>**Default Mode:** `append` | :heavy_check_mark: | :heavy_check_mark: |
| Label | `label` | List or comma-separated text of each Label | :heavy_check_mark: | :heavy_check_mark: |
| Label Sync Mode | `label_sync_mode` | `append`: Only Add Labels to the Item<br>`sync`: Add & Remove Labels from the Item<br><strong>Default Mode:</strong> `append` | :heavy_check_mark: | :heavy_check_mark: |
| Label Sync Mode | `label_sync_mode` | `append`: Only Add Labels to the Item<br>`sync`: Add & Remove Labels from the Item<br>**Default Mode:** `append` | :heavy_check_mark: | :heavy_check_mark: |
| 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: |

@ -17,7 +17,7 @@ libraries:
library_type: show
```
Then along side the config.yml it would expect to find the Metadata Files:
Then alongside the config.yml it would expect to find the Metadata Files:
```bash
config.yml

@ -36,7 +36,7 @@ mal:
12. On this page Click the `Edit` button next to the application you just created.
13. Record the `Client ID` and `Client Secret` found on the application page.
* On the first run, the script will walk the user through the OAuth flow by producing a MyAnimeList URL for the user to follow. After following the URL and signing into MyAnimeList.net the user must authorize the application by clicking the `Allow` button which will redirect the user to `http://localhost/`. Copy the entire URL and paste it into the scrip and if the URL is correct then the script will populate the `authorization` sub-attributes to use in subsequent runs.
* On the first run, the script will walk the user through the OAuth flow by producing a MyAnimeList URL for the user to follow. After following the URL login to MyAnimeList.net and authorize the application by clicking the `Allow` button which will redirect the user to `http://localhost/`. Copy the entire URL and paste it into the scrip and if the URL is correct then the script will populate the `authorization` sub-attributes to use in subsequent runs.
#### OAuth Flow using Docker

@ -33,7 +33,7 @@ collections:
plex_collection: Jurassic Park
```
If you want to add multiple collections you have to use a list. Comma-separated values will not work.
You can add multiple collections by using a list. Comma-separated values will not work.
```yaml
collections:
@ -46,7 +46,7 @@ collections:
## Plex Collectionless
Gets every movie/show that is not in a collection unless the collection is in the exclusion list. This is a special collection type to help keep your library looking correct. When items in your library are in multiple collections it can mess up how they're displayed in your library.
For Example, if you have a `Marvel Cinematic Universe` Collection set to `Show this collection and its items` and an `Iron Man` Collection set to `Hide items in this collection` what happens is the show overrides the hide and you end up with both collections displaying as well as the 3 Iron Man movies.
For Example, if you have a `Marvel Cinematic Universe` Collection set to `Show this collection and its items` and an `Iron Man` Collection set to `Hide items in this collection` what happens is the show overrides the hide and you end up with both the collections and the 3 Iron Man movies all displaying.
Alternatively, if you set the `Marvel Cinematic Universe` Collection to `Hide items in this collection` then movies without a collection like `The Incredible Hulk` will be hidden from the library view.
@ -74,16 +74,19 @@ collections:
## Plex Search
Uses Plex's [Custom Filters](https://support.plex.tv/articles/200392126-using-the-library-view/) to get every movie/show based on the search parameters provided.
Any Custom Filter search made using the Plex UI should be able to be recreated using `plex_search`. If you're having trouble getting `plex_search` to work correctly, take a screenshot of the custom filters parameters in the Plex UI and post it in either the [Discussions](https://github.com/meisnate12/Plex-Meta-Manager/discussions) or on [Discord](https://discord.gg/NfH6mGFuAB)
Any Custom Filter search made using the Plex UI should be able to be recreated using `plex_search`. If you're having trouble getting `plex_search` to work correctly, build the collection you want inside of Plex's Custom Filters and take a screenshot of the parameters in the Plex UI and post it in either the [Discussions](https://github.com/meisnate12/Plex-Meta-Manager/discussions) or on [Discord](https://discord.gg/NfH6mGFuAB) and I'll do my best to help you.
The search will return every movie/show that matches at least one term from each search option unless you use the `.and` modifier in which case it would need to match every term.
The search will return every movie/show that matches at least one term from each search field unless you use the `.and` modifier in which case it would need to match every term.
### Search Options
There are three fields per search option when using Plex's Custom Filters in the Web UI. The first is what field you wish to search on, the second is which modifier to use, and the third is the actual term to search.
| Search Option | Description | Movie<br>Libraries | Show<br>Libraries |
### Search Fields
| Search Field | Description | Movie<br>Libraries | Show<br>Libraries |
| :--- | :--- | :---: | :---: |
| `title` | Gets every movie/show with the specified text contained in the title | :heavy_check_mark: | :heavy_check_mark: |
| `studio` | Gets every movie/show with the specified studio | :heavy_check_mark: | :heavy_check_mark: |
| `studio` | Gets every movie/show with the specified text contained in the studio | :heavy_check_mark: | :heavy_check_mark: |
| `network` | Gets every movie/show with the specified network<br>**Only works with the New Plex TV Agent** | :x: | :heavy_check_mark: |
| `actor` | Gets every movie/show with the specified actor | :heavy_check_mark: | :heavy_check_mark: |
| `audio_language` | Gets every movie with the specified audio language | :heavy_check_mark: | :x: |
| `collection` | Gets movie/show with the specified collection | :heavy_check_mark: | :heavy_check_mark: |
@ -97,13 +100,15 @@ The search will return every movie/show that matches at least one term from each
| `writer` | Gets every movie/show with the specified writer | :heavy_check_mark: | :heavy_check_mark: |
| `decade` | Gets every movie from the specified year + the 9 that follow i.e. 1990 will get you 1990-1999 | :heavy_check_mark: | :x: |
| `resolution` | Gets every movie with the specified resolution | :heavy_check_mark: | :x: |
| `added` | Gets every movie/show added to plex before/after the specified date<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :heavy_check_mark: |
| `added` | Gets every movie/show added to plex before/after the specified date or in the last <br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :heavy_check_mark: |
| `originally_available` | Gets every movie originally available before/after the specified date<br>**Format:** YYYY-MM-DD | :heavy_check_mark: | :x: |
| `duration` | Gets every movie with a duration greater/less then the specified number of minutes | :heavy_check_mark: | :x: |
| `rating` | Gets every movie/show with a rating greater/less then the specified number | :heavy_check_mark: | :heavy_check_mark: |
| `audience_rating` | Gets every movie/show with an audience rating greater/less then the specified number | :heavy_check_mark: | :heavy_check_mark: |
| `critic_rating` | Gets every movie/show with a critic rating greater/less then the specified number | :heavy_check_mark: | :heavy_check_mark: |
| `year` | Gets every movie/show with the specified year or greater/less then the specified year | :heavy_check_mark: | :heavy_check_mark: |
### Special Options
### Special Fields
| Special Options | Description | Allowed Values | Default |
| :--- | :--- | :--- | :---: |
@ -112,7 +117,21 @@ The search will return every movie/show that matches at least one term from each
### Search Modifiers
| Search Option | No Modifier | `.and` | `.not` | `.begins`/<br>`.ends` | `.before`/<br>`.after` | `.greater`/<br>`.less` |
Each modifier translates directly from a modifier in the Web UI's modifier drop down.
| Modifier | Description | Plex Web UI Option |
| :--- | :--- | :---: |
| No Modifier | Matches at least one search term exactly for every field except:<br>`title` & `studio` only need to contain the search term<br>`added` & `originally_available` takes an integer and matches every item in that past many days. | `is` for most<br>`contains` for `title` & `studio`<br>`in the last` for `added` & `originally_available` |
| `.and` | Has to match every term exactly for every field except:<br>`title` & `studio` only need to contain the search term | `is` for most<br>`contains` for `title` & `studio` |
| `.not` | Matches every item that does not have any of the exact search terms for every field except:<br>`title` & `studio` only need to contain the search term<br>`added` & `originally_available` takes an integer and matches every item not in that past many days. | `is not` for most<br>`does not contain` for `title` & `studio`<br>`in not the last` for `added` & `originally_available` |
| `.begins` | Matches every item that starts with at least one search term | `begins with` |
| `.ends` | Matches every item that ends with at least one search term | `ends with` |
| `.before` | Matches every item that is before the specified date | `is before` |
| `.after` | Matches every item that is after the specified date | `is after` |
| `.greater` | Matches every item that is greater than specified number | `is greater than` |
| `.less` | Matches every item that is less than specified number | `is less than` |
| Search Field | No Modifier | `.and` | `.not` | `.begins`/<br>`.ends` | `.before`/<br>`.after` | `.greater`/<br>`.less` |
| :--- | :---: | :---: | :---: | :---: | :---: | :---: |
| `title` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
| `studio` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: |
@ -124,6 +143,7 @@ The search will return every movie/show that matches at least one term from each
| `director` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `genre` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `label` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `network` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `producer` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `subtitle_language` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
| `writer` | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :x: | :x: | :x: |
@ -132,7 +152,8 @@ The search will return every movie/show that matches at least one term from each
| `added` | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `originally_available` | :x: | :x: | :x: | :x: | :heavy_check_mark: | :x: |
| `duration` | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `rating` | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `audience_rating` | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `critic_rating` | :x: | :x: | :x: | :x: | :x: | :heavy_check_mark: |
| `year` | :heavy_check_mark: | :x: | :heavy_check_mark: | :x: | :x: | :heavy_check_mark: |
* Multiple values are supported as either a list or a comma-separated string for all modifiers except `.before`, `.after`, `.greator`, and `.less`.

@ -8,26 +8,30 @@ radarr:
url: http://192.168.1.12:32788
token: ################################
version: v3
quality_profile: HD-1080p
root_folder_path: S:/Movies
add: true
search: false
root_folder_path: S:/Movies
monitor: true
availability: announced
quality_profile: HD-1080p
tag: pmm
search: false
```
| Name | Attribute | Allowed Values| Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Radarr URL | `url` | Radarr URL<br><strong>Example:</strong> http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| Radarr URL | `url` | Radarr URL<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Radarr API Token | N/A | :heavy_check_mark: |
| Radarr Version | `version` | `v2`: for < 0.2<br>`v3`: for > 3.0 | v2 | :x: |
| Radarr Version | `version` | `v2`: for < 0.2<br>`v3`: for > 3.0 | `v2` | :x: |
| Add | `add` | Add missing movies found 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: |
| Quality Profile | `quality_profile` | Quality Profile To Use | N/A | :heavy_check_mark: |
| Add | `add` | Add missing moives found to Radarr<br><strong>boolean:</strong> true or false | false | :x: |
| Search | `search` | Search when adding missing movies to Radarr<br><strong>boolean:</strong> true or false | false | :x: |
| 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: |
* The `token` can be found by going to `Radarr > Settings > General > Security > API Key`
* The `quality_profile` must be the exact name of the desired quality profile, including all spaces and capitalizations.
* The `quality_profile` must be the exact name of the desired quality profile, including all spaces and capitalization.
* You can set `add` and `tag` per collection by using the `add_to_arr` and `arr_tag` [Collection Detail](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#settings-attributes)
* You can set most attributes per collection by using the [Radarr Collection Detail](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#radarr-attributes)

@ -18,7 +18,7 @@ settings:
| Name | Attribute | Allowed Values | Default | Global Level | Library Level | Collection Level |
| :--- | :--- | :--- | :---: | :---: | :---: | :---: |
| Cache | `cache` | Should the script store a cache<br><strong>boolean:</strong> true or false | true | :heavy_check_mark: | :x: | :x: |
| Cache | `cache` | Should the script store a cache<br>**boolean:** true or false | true | :heavy_check_mark: | :x: | :x: |
| Cache Expiration | `cache_expiration` | Number of days before each cache mapping expires and has to be reloaded | 60 | :heavy_check_mark: | :x: | :x: |
| [Image Asset Directory](#image-asset-directory) | `asset_directory` | System Locations For Image Assets | [Directory containing YAML config]/assets | :heavy_check_mark: | :heavy_check_mark: | :x: |
| Sync Mode | `sync_mode` | `append`: Only Add Items to the Collection<br>`sync`: Add & Remove Items from the Collection | append | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |

@ -8,28 +8,36 @@ sonarr:
url: http://192.168.1.12:32789
token: ################################
version: v3
quality_profile: HD-1080p
root_folder_path: S:/Shows
add: true
search: false
root_folder_path: S:/Shows
monitor: all
quality_profile: HD-1080p
language_profile: English
series_type: standard
season_folder: true
tag: pmm
search: false
cutoff_search: false
```
| Name | Attribute | Allowed Values| Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Sonarr URL | `url` | Sonarr URL<br><strong>Example:</strong> http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| Sonarr URL | `url` | Sonarr URL<br>**Example:** http://192.168.1.12:32788 | N/A | :heavy_check_mark: |
| API Token | `token` | Sonarr API Token | N/A | :heavy_check_mark: |
| Sonarr Version | `version` | `v2`: for < 0.2<br>`v3`: for > 3.0 | v2 | :x: |
| Add | `add` | Add missing shows found 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: |
| Add | `add` | Add missing shows found to Sonarr<br><strong>boolean:</strong> true or false | false | :x: |
| Search | `search` | Search when adding missing shows to Sonarr<br><strong>boolean:</strong> true or false | false | :x: |
| Season Folder | `season_folder` | Use the Season Folder Option when adding to Sonarr<br><strong>boolean:</strong> true or false | true | :x: |
| 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: |
* The `token` can be found by going to `Sonarr > Settings > General > Security > API Key`
* The `quality_profile` must be the exact name of the desired quality profile, including all spaces and capitalizations.
* The `quality_profile` and `language_profile` must be the exact name of the desired quality profile, including all spaces and capitalization.
* You can set `add` and `tag` per collection by using the `add_to_arr` and `arr_tag` [Collection Detail](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#settings-attributes)
* You can set most attributes per collection by using the [Sonarr Collection Detail](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details#sonarr-attributes)

@ -11,7 +11,7 @@ tautulli:
| Name | Attribute | Allowed Values | Default | Required |
| :--- | :--- | :--- | :---: | :---: |
| Tautulli URL | `url` | Tautulli URL<br><strong>Example:</strong> http://192.168.1.12:8659 | N/A | :heavy_check_mark: |
| 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

@ -2,7 +2,7 @@ The script can use templates created by the user to build similar collections wi
Each template is defined by the mapping name which becomes the name of the template.
Inside a template, you can give it all the [Collection Builders](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Builders), [Collection Details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details), and [Collection Filters](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Filters) attributes that you can give collections excpect `template`.
Inside a template, you can give it all the [Collection Builders](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Builders), [Collection Details](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Details), and [Collection Filters](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Collection-Filters) attributes that you can give collections expect `template`.
In any attribute, you can specify template variables that will be changed when calling the template. In the text just replace the text you want to be changed with the template variable name surrounded by `<<` and `>>`. For example, I can use the person template variable like so `tmdb_person: <<person>>`. The template variable name can be whatever you want but it must match when calling the template. To use the collection mapping name as a variable use `<<collection_name>>`.

@ -16,7 +16,7 @@ To install a container from docker hub, you will need community applications - a
| Variable | Screen Width | `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 [Docker Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker) page
* Full list of docker values can be found on the [Docker Installation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation) page
* If you wish to enable one-time [Run](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Docker-Installation), add `-r` to `Post Arguments` by enabling Advanced View in the top right of unRAID.
* The Image below shows the above values in the unRAID WebUI.
![Image](https://i.imgur.com/2y8RPTt.png)
@ -47,6 +47,6 @@ Due to how unRAID handles docker containers, it can be a little confusing at fir
7. Run `python plex_meta_manager.py -r`, and watch as the script comes to life.
8. You'll now notice, as per the [configuration doccumentation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Configuration-File) on these sources, the script will ask you to click a URL and return an input. Go ahead and do so in this terminal window.
8. You'll now notice, as per the [configuration documentation](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Configuration-File) on these sources, the script will ask you to click a URL and return an input. Go ahead and do so in this terminal window.
9. Once finished, and the script succeeds in connecting to your source, press `Ctrl + C` to cancel the script - and close out of the terminal window. Go ahead and stop the docker container, restore your container settings to your original preferences (restore `Time to Run`), and start the container.

Loading…
Cancel
Save