[35] Merge remote-tracking branch 'yozora/docs-run_order' into nightly

This commit is contained in:
meisnate12 2023-12-01 10:38:36 -05:00
commit 6472d79386
8 changed files with 314 additions and 229 deletions

View file

@ -52,7 +52,7 @@ jobs:
webhook_id: ${{ secrets.DEVELOP_WEBHOOK_ID }} webhook_id: ${{ secrets.DEVELOP_WEBHOOK_ID }}
webhook_token: ${{ secrets.DEVELOP_WEBHOOK_TOKEN }} webhook_token: ${{ secrets.DEVELOP_WEBHOOK_TOKEN }}
title: Plex Meta Manager Develop Commits title: Plex Meta Manager Develop Commits
message: "<@&954835263731949623> - An update to Plex Meta Manager has been published and is available to users of the **develop** branch.\n\nWe **stongly** recommend users who previously switched to the `nightly` branch to resolve any previous issues to now switch back to the `develop` branch." message: "<@&954835263731949623> - An update to Plex Meta Manager has been published and is available to users of the **develop** branch.\n\nWe **strongly** recommend users who previously switched to the `nightly` branch to resolve any previous issues to now switch back to the `develop` branch now."
commits: "true" commits: "true"
username: Metabot username: Metabot
avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/develop/.github/pmm.png avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/develop/.github/pmm.png

View file

@ -18,6 +18,6 @@ jobs:
webhook_token: ${{ secrets.RELEASE_WEBHOOK_TOKEN }} webhook_token: ${{ secrets.RELEASE_WEBHOOK_TOKEN }}
release: true release: true
title: Plex Meta Manager Release VERSION title: Plex Meta Manager Release VERSION
message: "<@&967002324646113290> - A new version of Plex Meta Manager has been released and is available to all users.\n\nWe **stongly** recommend users who previously switched to the `nightly` or `develop` branches to resolve any previous issues to now switch back to the `latest` branch." message: "<@&967002324646113290> - A new version of Plex Meta Manager has been released and is available to all users.\n\nWe **strongly** recommend users who previously switched to the `nightly` or `develop` branches to resolve any previous issues to now switch back to the `latest` branch now."
username: Metabot username: Metabot
avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/.github/pmm.png avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/.github/pmm.png

View file

@ -0,0 +1,8 @@
# Plex Builders
The below builders are available based on metadata inside your Plex Server.
| Name | Description | Requires Config |
|:--------------------------------------------|:----------------------------------------------------------------------------------------------|:---------------:|
| [Plex](../builders/plex.md) | Grabs items based on the metadata inside your Plex Server. | &#9989; |
| [Smart](../builders/smart.md) | Creates Smart Collections based on the metadata inside your Plex Server. (Collections Only) | &#9989; |

View file

@ -0,0 +1,22 @@
# Third-Party Builders
The below builders are available based on third-party services, multiple builders can be combined in one collection.
| Name | Description | Requires Config |
|:---------------------------------------------|:----------------------------------------------------------------------------------------------|:---------------:|
| [TMDb](../builders/tmdb.md) | Grabs items based on metadata and lists on [TheMovieDb.org](https://www.themoviedb.org/). | &#9989; |
| [TVDb](../builders/tvdb.md) | Grabs items based on metadata and lists on [TheTVDb.com](https://www.thetvdb.com/). | &#10060; |
| [IMDb](../builders/imdb.md) | Grabs items based on metadata and lists on [IMDb.com](https://www.imdb.com/). | &#10060; |
| [Trakt](../builders/trakt.md) | Grabs items based on metadata and lists on [Trakt.tv](https://trakt.tv/). | &#9989; |
| [Tautulli](../builders/tautulli.md) | Grabs items based on metadata and lists in your [Tautulli](https://tautulli.com/). | &#9989; |
| [Radarr](../builders/radarr.md) | Grabs items based on metadata and lists in your [Radarr](https://radarr.video/) . | &#9989; |
| [Sonarr](../builders/sonarr.md) | Grabs items based on metadata and lists in your [Sonarr](https://sonarr.tv/). | &#9989; |
| [MdbList](../builders/mdblist.md) | Grabs items based on metadata and lists on [MdbList.com](https://mdblist.com/). | &#10060; |
| [Letterboxd](../builders/letterboxd.md) | Grabs items based on metadata and lists on [Letterboxd.com](https://letterboxd.com/). | &#10060; |
| [ICheckMovies](../builders/icheckmovies.md) | Grabs items based on metadata and lists on [ICheckMovies.com](https://www.icheckmovies.com/). | &#10060; |
| [FlixPatrol](../builders/flixpatrol.md) | Grabs items based on metadata and lists on [FlixPatrol.com](https://flixpatrol.com/). | &#10060; |
| [Reciperr](../builders/reciperr.md) | Grabs items based on metadata and lists on [reciperr.com](https://reciperr.com/). | &#10060; |
| [StevenLu](../builders/stevenlu.md) | Grabs items based on metadata and lists on [StevenLu.com](https://movies.stevenlu.com/). | &#10060; |
| [AniDB](../builders/anidb.md) | Grabs items based on metadata and lists on [AniDB.net](https://anidb.net/). | &#10060; |
| [AniList](../builders/anilist.md) | Grabs items based on metadata and lists on [AniList.co](https://anilist.co/). | &#10060; |
| [MyAnimeList](../builders/myanimelist.md) | Grabs items based on metadata and lists on [MyAnimeList.net](https://myanimelist.net/). | &#9989; |

View file

@ -222,6 +222,10 @@ Updates every item's studio in the library to the chosen site's studio.
Updates every item's originally available date in the library to the chosen site's date. Updates every item's originally available date in the library to the chosen site's date.
???+ tip
As plex does not allow this field to be empty, using `remove` or `reset` will set the date to the Plex default date, which is `1969-12-31`
**Attribute:** `mass_originally_available_update` **Attribute:** `mass_originally_available_update`
**Values:** **Values:**

View file

@ -24,45 +24,46 @@ Attributes set at the collection level will take priority over any library or gl
The available setting attributes which can be set at each level are outlined below: The available setting attributes which can be set at each level are outlined below:
| Attribute | Global Level | Library Level | Collection/Playlist Level | | Attribute | Global Level | Library Level | Collection/Playlist Level |
|:--------------------------------------------------------------|:------------:|:-------------:|:-------------------------:| |:--------------------------------------------------------------|:------------------------------------------:|:------------------------------------------:|:------------------------------------------:|
| [`cache`](#cache) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`cache`](#cache) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`cache_expiration`](#cache-expiration) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`cache_expiration`](#cache-expiration) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`asset_directory`](#image-asset-directory) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`asset_directory`](#image-asset-directory) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`asset_folders`](#image-asset-folders) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`asset_folders`](#image-asset-folders) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`asset_depth`](#asset-depth) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`asset_depth`](#asset-depth) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`create_asset_folders`](#create-asset-folders) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`create_asset_folders`](#create-asset-folders) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`prioritize_assets`](#prioritize-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`prioritize_assets`](#prioritize-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`dimensional_asset_rename`](#dimensional-asset-rename) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`dimensional_asset_rename`](#dimensional-asset-rename) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`download_url_assets`](#download-url-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`download_url_assets`](#download-url-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`show_missing_season_assets`](#show-missing-season-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`show_missing_season_assets`](#show-missing-season-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`show_missing_episode_assets`](#show-missing-episode-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`show_missing_episode_assets`](#show-missing-episode-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`show_asset_not_needed`](#show-asset-not-needed) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`show_asset_not_needed`](#show-asset-not-needed) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`sync_mode`](#sync-mode) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`sync_mode`](#sync-mode) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`default_collection_order`](#default-collection-order) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`default_collection_order`](#default-collection-order) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`minimum_items`](#minimum-items) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`minimum_items`](#minimum-items) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`delete_below_minimum`](#delete-below-minimum) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`delete_below_minimum`](#delete-below-minimum) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`delete_not_scheduled`](#delete-not-scheduled) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`delete_not_scheduled`](#delete-not-scheduled) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`run_again_delay`](#run-again-delay) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`run_again_delay`](#run-again-delay) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`missing_only_released`](#missing-only-released) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`missing_only_released`](#missing-only-released) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`show_unmanaged`](#show-unmanaged-collections) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`show_unmanaged`](#show-unmanaged-collections) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`show_unconfigured`](#show-unconfigured-collections) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | | [`show_unconfigured`](#show-unconfigured-collections) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`show_filtered`](#show-filtered) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`show_filtered`](#show-filtered) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`show_options`](#show-options) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`show_options`](#show-options) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`show_missing`](#show-missing) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`show_missing`](#show-missing) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`only_filter_missing`](#only-filter-missing) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`only_filter_missing`](#only-filter-missing) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`show_missing_assets`](#show-missing-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`show_missing_assets`](#show-missing-assets) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`save_report`](#save-report) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`save_report`](#save-report) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`tvdb_language`](#tvdb-language) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`tvdb_language`](#tvdb-language) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`ignore_ids`](#ignore-ids) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`ignore_ids`](#ignore-ids) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`ignore_imdb_ids`](#ignore-imdb-ids) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`ignore_imdb_ids`](#ignore-imdb-ids) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`item_refresh_delay`](#item-refresh-delay) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | | [`item_refresh_delay`](#item-refresh-delay) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-check:{ .green } |
| [`playlist_sync_to_users`](#playlist-sync-to-users) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | | [`playlist_sync_to_users`](#playlist-sync-to-users) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } |
| [`playlist_exclude_users`](#playlist-exclude-users) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } | | [`playlist_exclude_users`](#playlist-exclude-users) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-check:{ .green } |
| [`playlist_report`](#playlist-report) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`playlist_report`](#playlist-report) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`custom_repo`](#custom-repo) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`run_order`](#run-order) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .green } | :fontawesome-solid-circle-xmark:{ .red } |
| [`verify_ssl`](#verify-ssl) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`custom_repo`](#custom-repo) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`check_nightly`](#check-nightly) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | | [`verify_ssl`](#verify-ssl) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
| [`check_nightly`](#check-nightly) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
## Default Values ## Default Values
@ -80,6 +81,51 @@ The below in an extract of the `config.yml.template` and is the initial values t
end="webhooks:" end="webhooks:"
%} %}
~~~ ~~~
## Example Library-Level Settings
The below showcases how to set a library-level setting, assuming that the attribute is listed as a library-level compatible attribute in the above table.
If no library-level attribute is set, then the global attribute is used.
???+ tip
Press the :fontawesome-solid-circle-plus: icon to learn more
```yaml
libraries:
Movies:
run_order: #(1)!
- metadata
- operations
- overlays
minimum_items: 3 #(2)!
metadata_path:
# stuff here
overlay_path:
# stuff here
operations:
# stuff here
TV Shows:
metadata_path:
# stuff here
overlay_path:
# stuff here
operations:
# stuff here
settings:
run_order: #(3)!
- operations
- metadata
- overlays
minimum_items: 1 #(4)!
```
1. Sets the `run_order` specifically for the Movies library
2. Sets the `minimum_items` attribute specifically for the Movies library
3. Sets the global `run_order` which will apply to all libraries unless a library-level `run_order` is found, as showcased in the above example
4. Sets the global `minimum_items` which will apply to all libraries unless a library-level `minimum_items` is found, as showcased in the above example
## Cache ## Cache
Cache the Plex GUID and associated IDs for each library item for faster subsequent processing. The cache file is created in the same directory as the configuration file. Cache the Plex GUID and associated IDs for each library item for faster subsequent processing. The cache file is created in the same directory as the configuration file.
@ -458,14 +504,35 @@ Set the default playlist `exclude_users`.
| Allowed Values | list of users or comma-separated string of users | | Allowed Values | list of users or comma-separated string of users |
# Playlist Report ## Playlist Report
Set `playlist_report` to true to print out a playlist report at the end of the log. Set `playlist_report` to true to print out a playlist report at the end of the log.
| | | | | |
|---|---| |----------------|-------------------|
| Default Value | false | | Default Value | false |
| Allowed Values | `true` or `false` | | Allowed Values | `true` or `false` |
## Run Order
Specify the run order of the library components [Library Operations, Metadata Files and Overlay Files]
???+ tip
If not specified, the default run order is Library Operations, then Metadata Files, then Overlay Files
```yml
settings:
run_order:
- operations
- metadata
- overlays
```
| | |
|----------------|-------------------------------------------------------------------------------|
| Default Value | `` |
| Allowed Values | List which must include `operations`, `metadata` and `overlays` in any order |
## Custom Repo ## Custom Repo
@ -475,9 +542,9 @@ Specify where the `repo` attribute's base is when defining `metadata_path`, `pla
Ensure you are using the raw GitHub link (i.e. https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/meisnate12 ) Ensure you are using the raw GitHub link (i.e. https://github.com/meisnate12/Plex-Meta-Manager-Configs/tree/master/meisnate12 )
| | | | | |
|---|---| |----------------|-------------------------|
| Default Value | None | | Default Value | None |
| Allowed Values | link to base repository | | Allowed Values | link to base repository |
@ -489,10 +556,10 @@ Turn SSL Verification on or off.
set to false if your log file shows any errors similar to "SSL: CERTIFICATE_VERIFY_FAILED" set to false if your log file shows any errors similar to "SSL: CERTIFICATE_VERIFY_FAILED"
| | | | | |
|---|---| |-----------------|---------------------|
| Default Value | true | | Default Value | true |
| Allowed Values | `true` or `false` | | Allowed Values | `true` or `false` |
## Check Nightly ## Check Nightly
@ -505,8 +572,8 @@ Will check nightly for updates instead of develop.
It is recommended to set this to `true` if you primarily use the `nightly` branch It is recommended to set this to `true` if you primarily use the `nightly` branch
| | | | | |
|---|---| |-----------------|--------------------|
| Default Value | false | | Default Value | false |
| Allowed Values | `true` or `false` | | Allowed Values | `true` or `false` |

View file

@ -24,36 +24,35 @@ Another way to specify environmental variables is by adding them to a .env file
[official tutorial](https://www.docker.com/101-tutorial/). [official tutorial](https://www.docker.com/101-tutorial/).
| Attribute | Shell Command | Environment Variable | | Attribute | Shell Command | Environment Variable |
|:------------------------------------------------------|:----------------------------------------------|:--------------------------| |:------------------------------------------------------|:----------------------------------------------|:-------------------------|
| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | | [Config](#config) | `-c` or `--config` | `PMM_CONFIG` |
| [Time to Run](#time-to-run) | `-t` or `--times` | `PMM_TIMES` | | [Time to Run](#time-to-run) | `-t` or `--times` | `PMM_TIMES` |
| [Run Immediately](#run-immediately) | `-r` or `--run` | `PMM_RUN` | | [Run Immediately](#run-immediately) | `-r` or `--run` | `PMM_RUN` |
| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TESTS` | | [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TESTS` |
| [Debug](#debug) | `-db` or `--debug` | `PMM_DEBUG` | | [Debug](#debug) | `-db` or `--debug` | `PMM_DEBUG` |
| [Trace](#trace) | `-tr` or `--trace` | `PMM_TRACE` | | [Trace](#trace) | `-tr` or `--trace` | `PMM_TRACE` |
| [Log Requests](#log-requests) | `-lr` or `--log-requests` | `PMM_LOG_REQUESTS` | | [Log Requests](#log-requests) | `-lr` or `--log-requests` | `PMM_LOG_REQUESTS` |
| [Timeout](#timeout) | `-ti` or `--timeout` | `PMM_TIMEOUT` | | [Timeout](#timeout) | `-ti` or `--timeout` | `PMM_TIMEOUT` |
| [Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | | [Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` |
| [Playlists Only](#playlists-only) | `-po` or `--playlists-only` | `PMM_PLAYLISTS_ONLY` | | [Playlists Only](#playlists-only) | `-po` or `--playlists-only` | `PMM_PLAYLISTS_ONLY` |
| [Operations Only](#operations-only) | `-op`, `--operations`, or `--operations-only` | `PMM_OPERATIONS_ONLY` | | [Operations Only](#operations-only) | `-op`, `--operations`, or `--operations-only` | `PMM_OPERATIONS_ONLY` |
| [Overlays Only](#overlays-only) | `-ov`, `--overlays`, or `--overlays-only` | `PMM_OVERLAYS_ONLY` | | [Overlays Only](#overlays-only) | `-ov`, `--overlays`, or `--overlays-only` | `PMM_OVERLAYS_ONLY` |
| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` | | [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` |
| [Run Libraries](#run-libraries.md) | `-rl` or `--run-libraries` | `PMM_RUN_LIBRARIES` | | [Run Libraries](#run-libraries.md) | `-rl` or `--run-libraries` | `PMM_RUN_LIBRARIES` |
| [Run Metadata Files](#run-metadata-files) | `-rm` or `--run-metadata-files` | `PMM_RUN_METADATA_FILES` | | [Run Metadata Files](#run-metadata-files) | `-rm` or `--run-metadata-files` | `PMM_RUN_METADATA_FILES` |
| [Libraries First](#libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | | [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` |
| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | | [Ignore Ghost](#ignore-ghost) | `-ig` or `--ignore-ghost` | `PMM_IGNORE_GHOST` |
| [Ignore Ghost](#ignore-ghost) | `-ig` or `--ignore-ghost` | `PMM_IGNORE_GHOST` | | [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` |
| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | | [Delete Labels](#delete-labels) | `-dl` or `--delete-labels` | `PMM_DELETE_LABELS` |
| [Delete Labels](#delete-labels) | `-dl` or `--delete-labels` | `PMM_DELETE_LABELS` | | [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` |
| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | | [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` |
| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | | [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` |
| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | | [No Report](#no-report) | `-nr` or `--no-report` | `PMM_NO_REPORT` |
| [No Report](#no-report) | `-nr` or `--no-report` | `PMM_NO_REPORT` | | [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` |
| [Read Only Config](#read-only-config) | `-ro` or `--read-only-config` | `PMM_READ_ONLY_CONFIG` | | [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` |
| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | | [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` |
| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | | [Config Secrets](#config-secrets) | `--pmm-***` | `PMM_***` |
| [Config Secrets](#config-secrets) | `--pmm-***` | `PMM_***` |
Further explanation and examples of each command can be found below. Further explanation and examples of each command can be found below.
@ -377,25 +376,6 @@ Perform a metadata files run immediately to run only the pre-defined metadata fi
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-metadata-files "Movies.yml|seasonal|genre" docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-metadata-files "Movies.yml|seasonal|genre"
``` ```
### Libraries First
Run library operations prior to running collections.
| | Shell Command | Environment Variable |
|:--------|:-----------------------------|:---------------------------|
| Flags | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` |
| Example | `--libraries-first` | `PMM_LIBRARIES_FIRST=true` |
!!! example
=== "Local Environment"
```
python plex_meta_manager.py --libraries-first
```
=== "Docker Environment"
```
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --libraries-first
```
### Ignore Schedules ### Ignore Schedules
Ignore all schedules for the run. Ignore all schedules for the run.

View file

@ -264,125 +264,133 @@ nav:
- Overview: metadata/metadata.md - Overview: metadata/metadata.md
- Templates: builders/templates.md - Templates: builders/templates.md
- Filters: builders/filters.md - Filters: builders/filters.md
- Builders Overview: metadata/builders.md - "EDITING METADATA":
- "PLEX & SMART BUILDERS": - Metadata Edits:
- Plex Builders: - Movie Metadata Edits: metadata/metadata/movie.md
- Overview: builders/plex.md - Show Metadata Edits: metadata/metadata/show.md
- Plex All: builders/plex/#plex-all - Music Metadata: metadata/metadata/music.md
- Plex Watchlist: builders/plex/#plex-watchlist - "BUILDERS":
- Plex Pilots: builders/plex/#plex-pilots - Overview: metadata/builders.md
- Plex Collectionless: builders/plex/#plex-collectionless - "Plex Builders":
- Plex Search: builders/plex/#plex-search - Overview: builders/overview/plex.md
- "Smart Builders": - Plex Builders:
- Overview: builders/smart.md - Overview: builders/plex.md
- Smart Label: builders/smart/#smart-label - Plex All: builders/plex/#plex-all
- Smart Filter: builders/smart/#smart-filter - Plex Watchlist: builders/plex/#plex-watchlist
- "THIRD-PARTY BUILDERS": - Plex Pilots: builders/plex/#plex-pilots
- TMDb Builders: - Plex Collectionless: builders/plex/#plex-collectionless
- Overview: builders/tmdb.md - Plex Search: builders/plex/#plex-search
- TMDb Collection: builders/tmdb/#tmdb-collection - "Smart Builders":
- TMDb List: builders/tmdb/#tmdb-list - Overview: builders/smart.md
- TMDb Actor: builders/tmdb/#tmdb-actor - Smart Label: builders/smart/#smart-label
- TMDb Crew: builders/tmdb/#tmdb-crew - Smart Filter: builders/smart/#smart-filter
- TMDb Director: builders/tmdb/#tmdb-director - "Third-Party Builders":
- TMDb Producer: builders/tmdb/#tmdb-producer - Overview: builders/overview/thirdparty.md
- TMDb Writer: builders/tmdb/#tmdb-writer - TMDb Builders:
- TMDb Movie: builders/tmdb/#tmdb-movie - Overview: builders/tmdb.md
- TMDb Show: builders/tmdb/#tmdb-show - TMDb Collection: builders/tmdb/#tmdb-collection
- TMDb Company: builders/tmdb/#tmdb-company - TMDb List: builders/tmdb/#tmdb-list
- TMDb Network: builders/tmdb/#tmdb-network - TMDb Actor: builders/tmdb/#tmdb-actor
- TMDb Keyword: builders/tmdb/#tmdb-keyword - TMDb Crew: builders/tmdb/#tmdb-crew
- TMDb Popular: builders/tmdb/#tmdb-popular - TMDb Director: builders/tmdb/#tmdb-director
- TMDb Now Playing: builders/tmdb/#tmdb-now-playing - TMDb Producer: builders/tmdb/#tmdb-producer
- TMDb Top Rated: builders/tmdb/#tmdb-top-rated - TMDb Writer: builders/tmdb/#tmdb-writer
- TMDb Upcoming: builders/tmdb/#tmdb-upcoming - TMDb Movie: builders/tmdb/#tmdb-movie
- TMDb Airing Today: builders/tmdb/#tmdb-airing-today - TMDb Show: builders/tmdb/#tmdb-show
- TMDb On the Air: builders/tmdb/#tmdb-on-the-air - TMDb Company: builders/tmdb/#tmdb-company
- TMDb Trending Daily: builders/tmdb/#tmdb-trending-daily - TMDb Network: builders/tmdb/#tmdb-network
- TMDb Trending Weekly: builders/tmdb/#tmdb-trending-weekly - TMDb Keyword: builders/tmdb/#tmdb-keyword
- TMDb Discover: builders/tmdb/#tmdb-discover - TMDb Popular: builders/tmdb/#tmdb-popular
- TVDb Builders: - TMDb Now Playing: builders/tmdb/#tmdb-now-playing
- Overview: builders/tvdb.md - TMDb Top Rated: builders/tmdb/#tmdb-top-rated
- TVDb List: builders/tvdb/#tvdb-list - TMDb Upcoming: builders/tmdb/#tmdb-upcoming
- TVDb Movie: builders/tvdb/#tvdb-movie - TMDb Airing Today: builders/tmdb/#tmdb-airing-today
- TVDb Show: builders/tvdb/#tvdb-show - TMDb On the Air: builders/tmdb/#tmdb-on-the-air
- IMDb Builders: - TMDb Trending Daily: builders/tmdb/#tmdb-trending-daily
- Overview: builders/imdb.md - TMDb Trending Weekly: builders/tmdb/#tmdb-trending-weekly
- IMDb ID: builders/imdb/#imdb-id - TMDb Discover: builders/tmdb/#tmdb-discover
- IMDb Chart: builders/imdb/#imdb-chart - TVDb Builders:
- IMDb List: builders/imdb/#imdb-list - Overview: builders/tvdb.md
- IMDb Watchlist: builders/imdb/#imdb-watchlist - TVDb List: builders/tvdb/#tvdb-list
- Trakt Builders: - TVDb Movie: builders/tvdb/#tvdb-movie
- Overview: builders/trakt.md - TVDb Show: builders/tvdb/#tvdb-show
- Trakt List: builders/trakt/#trakt-list - IMDb Builders:
- Trakt Chart: builders/trakt/#trakt-chart - Overview: builders/imdb.md
- Trakt Userlist: builders/trakt/#trakt-userlist - IMDb ID: builders/imdb/#imdb-id
- Trakt Recommendations: builders/trakt/#trakt-recommendations - IMDb Chart: builders/imdb/#imdb-chart
- Trakt Box Office: builders/trakt/#trakt-box-office - IMDb List: builders/imdb/#imdb-list
- Tautulli Builders: - IMDb Watchlist: builders/imdb/#imdb-watchlist
- Overview: builders/tautulli.md - Trakt Builders:
- Tautulli Popular/Watched: builders/tautulli/#tautulli-popular-watched - Overview: builders/trakt.md
- Radarr Builders: - Trakt List: builders/trakt/#trakt-list
- Overview: builders/radarr.md - Trakt Chart: builders/trakt/#trakt-chart
- Radarr All: builders/radarr/#radarr-all - Trakt Userlist: builders/trakt/#trakt-userlist
- Radarr Taglist: builders/radarr/#radarr-taglist - Trakt Recommendations: builders/trakt/#trakt-recommendations
- Sonarr Builders: - Trakt Box Office: builders/trakt/#trakt-box-office
- Overview: builders/sonarr.md - Tautulli Builders:
- Sonarr All: builders/sonarr/#sonarr-all - Overview: builders/tautulli.md
- Sonarr Taglist: builders/sonarr/#sonarr-taglist - Tautulli Popular/Watched: builders/tautulli/#tautulli-popular-watched
- MdbList Builders: - Radarr Builders:
- Overview: builders/mdblist.md - Overview: builders/radarr.md
- MdbList List: builders/mdblist/#mdblist-list - Radarr All: builders/radarr/#radarr-all
- Letterboxd Builders: - Radarr Taglist: builders/radarr/#radarr-taglist
- Overview: builders/letterboxd.md - Sonarr Builders:
- Letterboxd List: builders/letterboxd/#letterboxd-list - Overview: builders/sonarr.md
- ICheckMovies Builders: - Sonarr All: builders/sonarr/#sonarr-all
- Overview: builders/icheckmovies.md - Sonarr Taglist: builders/sonarr/#sonarr-taglist
- ICheckMovies List: builders/icheckmovies/#icheckmovies-list - MdbList Builders:
- FlixPatrol Builders: - Overview: builders/mdblist.md
- Overview: builders/flixpatrol.md - MdbList List: builders/mdblist/#mdblist-list
- FlixPatrol Top Platform: builders/flixpatrol/#flixpatrol-top - Letterboxd Builders:
- FlixPatrol Popular: builders/flixpatrol/#flixpatrol-popular - Overview: builders/letterboxd.md
- FlixPatrol Demographics: builders/flixpatrol/#flixpatrol-demographics - Letterboxd List: builders/letterboxd/#letterboxd-list
- FlixPatrol URL: builders/flixpatrol/#flixpatrol-url - ICheckMovies Builders:
- Reciperr Builders: - Overview: builders/icheckmovies.md
- Overview: builders/reciperr.md - ICheckMovies List: builders/icheckmovies/#icheckmovies-list
- Reciperr List: builders/reciperr/#reciperr-list - FlixPatrol Builders:
- StevenLu Builders: - Overview: builders/flixpatrol.md
- Overview: builders/stevenlu.md - FlixPatrol Top Platform: builders/flixpatrol/#flixpatrol-top
- StevenLu List: builders/stevenlu/#stevenlu-s-popular-movies-list - FlixPatrol Popular: builders/flixpatrol/#flixpatrol-popular
- AniDB Builders: - FlixPatrol Demographics: builders/flixpatrol/#flixpatrol-demographics
- Overview: builders/anidb.md - FlixPatrol URL: builders/flixpatrol/#flixpatrol-url
- AniDB ID: builders/anidb/#anidb-id - Reciperr Builders:
- AniDB Relation: builders/anidb/#anidb-relation - Overview: builders/reciperr.md
- AniDB Popular: builders/anidb/#anidb-popular - Reciperr List: builders/reciperr/#reciperr-list
- AniDB Tag: builders/anidb/#anidb-tag - StevenLu Builders:
- AniList Builders: - Overview: builders/stevenlu.md
- Overview: builders/anilist.md - StevenLu List: builders/stevenlu/#stevenlu-s-popular-movies-list
- AniList Top Rated: builders/anilist/#anilist-top-rated - AniDB Builders:
- AniList Anilist Popular: builders/anilist/#anilist-anilist-popular - Overview: builders/anidb.md
- AniList Trending: builders/anilist/#anilist-trending - AniDB ID: builders/anidb/#anidb-id
- AniList Relations: builders/anilist/#anilist-relations - AniDB Relation: builders/anidb/#anidb-relation
- AniList Studio: builders/anilist/#anilist-studio - AniDB Popular: builders/anidb/#anidb-popular
- AniList ID: builders/anilist/#anilist-id - AniDB Tag: builders/anidb/#anidb-tag
- AniList UserList: builders/anilist/#anilist-userlist - AniList Builders:
- AniList Search: builders/anilist/#anilist-search - Overview: builders/anilist.md
- MyAnimeList Builders: - AniList Top Rated: builders/anilist/#anilist-top-rated
- Overview: builders/myanimelist.md - AniList Anilist Popular: builders/anilist/#anilist-anilist-popular
- MyAnimeList Search: builders/myanimelist/#myanimelist-search - AniList Trending: builders/anilist/#anilist-trending
- MyAnimeList Top All: builders/myanimelist/#myanimelist-top-all - AniList Relations: builders/anilist/#anilist-relations
- MyAnimeList Top Airing: builders/myanimelist/#myanimelist-top-airing - AniList Studio: builders/anilist/#anilist-studio
- MyAnimeList Top Upcoming: builders/myanimelist/#myanimelist-top-upcoming - AniList ID: builders/anilist/#anilist-id
- MyAnimeList Top TV Series: builders/myanimelist/#myanimelist-top-tv-series - AniList UserList: builders/anilist/#anilist-userlist
- MyAnimeList Top Movies: builders/myanimelist/#myanimelist-top-movies - AniList Search: builders/anilist/#anilist-search
- MyAnimeList Top OVA Series: builders/myanimelist/#myanimelist-top-ova-series - MyAnimeList Builders:
- MyAnimeList Top Specials: builders/myanimelist/#myanimelist-top-specials - Overview: builders/myanimelist.md
- MyAnimeList Most Popular: builders/myanimelist/#myanimelist-most-popular - MyAnimeList Search: builders/myanimelist/#myanimelist-search
- MyAnimeList Most Favorited: builders/myanimelist/#myanimelist-most-favorited - MyAnimeList Top All: builders/myanimelist/#myanimelist-top-all
- MyAnimeList Suggested: builders/myanimelist/#myanimelist-suggested - MyAnimeList Top Airing: builders/myanimelist/#myanimelist-top-airing
- MyAnimeList ID: builders/myanimelist/#myanimelist-id - MyAnimeList Top Upcoming: builders/myanimelist/#myanimelist-top-upcoming
- MyAnimeList UserList: builders/myanimelist/#myanimelist-userlist - MyAnimeList Top TV Series: builders/myanimelist/#myanimelist-top-tv-series
- MyAnimeList Seasonal: builders/myanimelist/#myanimelist-seasonal - MyAnimeList Top Movies: builders/myanimelist/#myanimelist-top-movies
- MyAnimeList Top OVA Series: builders/myanimelist/#myanimelist-top-ova-series
- MyAnimeList Top Specials: builders/myanimelist/#myanimelist-top-specials
- MyAnimeList Most Popular: builders/myanimelist/#myanimelist-most-popular
- MyAnimeList Most Favorited: builders/myanimelist/#myanimelist-most-favorited
- MyAnimeList Suggested: builders/myanimelist/#myanimelist-suggested
- MyAnimeList ID: builders/myanimelist/#myanimelist-id
- MyAnimeList UserList: builders/myanimelist/#myanimelist-userlist
- MyAnimeList Seasonal: builders/myanimelist/#myanimelist-seasonal
- DYNAMIC COLLECTIONS: - DYNAMIC COLLECTIONS:
- Overview: metadata/dynamic.md - Overview: metadata/dynamic.md
- TMDb Dynamic Collections: - TMDb Dynamic Collections:
@ -429,17 +437,13 @@ nav:
- Collection/Playlist Metadata Updates: builders/details/metadata.md - Collection/Playlist Metadata Updates: builders/details/metadata.md
- Item Metadata Updates: builders/details/item_metadata.md - Item Metadata Updates: builders/details/item_metadata.md
- MISCELLANEOUS: - MISCELLANEOUS:
- EDITING METADATA:
- Editing Movie Metadata: metadata/metadata/movie.md
- Editing TV Metadata: metadata/metadata/show.md
- Editing Music Metadata: metadata/metadata/music.md
- Formula 1 Metadata Guide: pmm/install/guides/formula.md
- EXPLANATION GUIDES: - EXPLANATION GUIDES:
- Plex Ratings Explained: pmm/essentials/ratings.md - Plex Ratings Explained: pmm/essentials/ratings.md
- Scheduling Guide: pmm/install/guides/scheduling.md - Scheduling Guide: pmm/install/guides/scheduling.md
- Image Asset Directory Guide: pmm/install/guides/assets.md - Image Asset Directory Guide: pmm/install/guides/assets.md
- Log Files: pmm/essentials/logs.md - Log Files: pmm/essentials/logs.md
- YAML File Guide: pmm/essentials/yaml.md - YAML File Guide: pmm/essentials/yaml.md
- Formula 1 Metadata Guide: pmm/install/guides/formula.md
- COMPANION SCRIPTS: - COMPANION SCRIPTS:
- Overview: pmm/essentials/scripts.md - Overview: pmm/essentials/scripts.md
- Plex Image Cleanup: pmm/essentials/scripts/image-cleanup.md - Plex Image Cleanup: pmm/essentials/scripts/image-cleanup.md