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

pull/1750/head
meisnate12 1 year ago
commit 6472d79386

@ -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

@ -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

@ -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; |

@ -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; |

@ -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:**

@ -25,7 +25,7 @@ The available setting attributes which can be set at each level are outlined bel
| 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 } |
@ -59,7 +59,8 @@ The available setting attributes which can be set at each level are outlined bel
| [`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 } |
| [`run_order`](#run-order) | :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 } | | [`custom_repo`](#custom-repo) | :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 } | | [`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 } | | [`check_nightly`](#check-nightly) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } |
@ -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
@ -476,7 +543,7 @@ 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 |
@ -490,7 +557,7 @@ 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` |
@ -506,7 +573,7 @@ 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` |

@ -25,7 +25,7 @@ Another way to specify environmental variables is by adding them to a .env file
| 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` |
@ -41,7 +41,6 @@ Another way to specify environmental variables is by adding them to a .env file
| [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` |
@ -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.

@ -264,8 +264,15 @@ 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:
- Movie Metadata Edits: metadata/metadata/movie.md
- Show Metadata Edits: metadata/metadata/show.md
- Music Metadata: metadata/metadata/music.md
- "BUILDERS":
- Overview: metadata/builders.md
- "Plex Builders":
- Overview: builders/overview/plex.md
- Plex Builders: - Plex Builders:
- Overview: builders/plex.md - Overview: builders/plex.md
- Plex All: builders/plex/#plex-all - Plex All: builders/plex/#plex-all
@ -277,7 +284,8 @@ nav:
- Overview: builders/smart.md - Overview: builders/smart.md
- Smart Label: builders/smart/#smart-label - Smart Label: builders/smart/#smart-label
- Smart Filter: builders/smart/#smart-filter - Smart Filter: builders/smart/#smart-filter
- "THIRD-PARTY BUILDERS": - "Third-Party Builders":
- Overview: builders/overview/thirdparty.md
- TMDb Builders: - TMDb Builders:
- Overview: builders/tmdb.md - Overview: builders/tmdb.md
- TMDb Collection: builders/tmdb/#tmdb-collection - TMDb Collection: builders/tmdb/#tmdb-collection
@ -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

Loading…
Cancel
Save