diff --git a/.github/workflows/develop.yml b/.github/workflows/develop.yml index 4c807bb6..410a136b 100644 --- a/.github/workflows/develop.yml +++ b/.github/workflows/develop.yml @@ -52,7 +52,7 @@ jobs: webhook_id: ${{ secrets.DEVELOP_WEBHOOK_ID }} webhook_token: ${{ secrets.DEVELOP_WEBHOOK_TOKEN }} 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" username: Metabot avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/develop/.github/pmm.png diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 921928ea..f3e4c496 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,6 +18,6 @@ jobs: webhook_token: ${{ secrets.RELEASE_WEBHOOK_TOKEN }} release: true 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 avatar_url: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager/master/.github/pmm.png \ No newline at end of file diff --git a/docs/builders/overview/plex.md b/docs/builders/overview/plex.md new file mode 100644 index 00000000..a31f5ae6 --- /dev/null +++ b/docs/builders/overview/plex.md @@ -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. | ✅ | +| [Smart](../builders/smart.md) | Creates Smart Collections based on the metadata inside your Plex Server. (Collections Only) | ✅ | diff --git a/docs/builders/overview/thirdparty.md b/docs/builders/overview/thirdparty.md new file mode 100644 index 00000000..7033c07a --- /dev/null +++ b/docs/builders/overview/thirdparty.md @@ -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/). | ✅ | +| [TVDb](../builders/tvdb.md) | Grabs items based on metadata and lists on [TheTVDb.com](https://www.thetvdb.com/). | ❌ | +| [IMDb](../builders/imdb.md) | Grabs items based on metadata and lists on [IMDb.com](https://www.imdb.com/). | ❌ | +| [Trakt](../builders/trakt.md) | Grabs items based on metadata and lists on [Trakt.tv](https://trakt.tv/). | ✅ | +| [Tautulli](../builders/tautulli.md) | Grabs items based on metadata and lists in your [Tautulli](https://tautulli.com/). | ✅ | +| [Radarr](../builders/radarr.md) | Grabs items based on metadata and lists in your [Radarr](https://radarr.video/) . | ✅ | +| [Sonarr](../builders/sonarr.md) | Grabs items based on metadata and lists in your [Sonarr](https://sonarr.tv/). | ✅ | +| [MdbList](../builders/mdblist.md) | Grabs items based on metadata and lists on [MdbList.com](https://mdblist.com/). | ❌ | +| [Letterboxd](../builders/letterboxd.md) | Grabs items based on metadata and lists on [Letterboxd.com](https://letterboxd.com/). | ❌ | +| [ICheckMovies](../builders/icheckmovies.md) | Grabs items based on metadata and lists on [ICheckMovies.com](https://www.icheckmovies.com/). | ❌ | +| [FlixPatrol](../builders/flixpatrol.md) | Grabs items based on metadata and lists on [FlixPatrol.com](https://flixpatrol.com/). | ❌ | +| [Reciperr](../builders/reciperr.md) | Grabs items based on metadata and lists on [reciperr.com](https://reciperr.com/). | ❌ | +| [StevenLu](../builders/stevenlu.md) | Grabs items based on metadata and lists on [StevenLu.com](https://movies.stevenlu.com/). | ❌ | +| [AniDB](../builders/anidb.md) | Grabs items based on metadata and lists on [AniDB.net](https://anidb.net/). | ❌ | +| [AniList](../builders/anilist.md) | Grabs items based on metadata and lists on [AniList.co](https://anilist.co/). | ❌ | +| [MyAnimeList](../builders/myanimelist.md) | Grabs items based on metadata and lists on [MyAnimeList.net](https://myanimelist.net/). | ✅ | \ No newline at end of file diff --git a/docs/config/operations.md b/docs/config/operations.md index e08644b6..8f02be33 100644 --- a/docs/config/operations.md +++ b/docs/config/operations.md @@ -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. +???+ 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` **Values:** diff --git a/docs/config/settings.md b/docs/config/settings.md index 43b2ccd5..87d6908c 100644 --- a/docs/config/settings.md +++ b/docs/config/settings.md @@ -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: -| 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_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_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 } | -| [`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 } | -| [`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 } | -| [`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_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 } | -| [`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 } | -| [`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 } | -| [`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 } | -| [`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_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_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 } | -| [`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 } | -| [`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_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 } | -| [`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_report`](#playlist-report) | :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 } | -| [`check_nightly`](#check-nightly) | :fontawesome-solid-circle-check:{ .green } | :fontawesome-solid-circle-xmark:{ .red } | :fontawesome-solid-circle-xmark:{ .red } | +| 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_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_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 } | +| [`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 } | +| [`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 } | +| [`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_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 } | +| [`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 } | +| [`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 } | +| [`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 } | +| [`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_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_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 } | +| [`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 } | +| [`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_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 } | +| [`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_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 } | +| [`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 @@ -80,6 +81,51 @@ The below in an extract of the `config.yml.template` and is the initial values t 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 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 | -# Playlist Report +## Playlist Report 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` | +## 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 @@ -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 ) -| | | -|---|---| -| Default Value | None | +| | | +|----------------|-------------------------| +| Default Value | None | | 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" -| | | -|---|---| -| Default Value | true | -| Allowed Values | `true` or `false` | +| | | +|-----------------|---------------------| +| Default Value | true | +| Allowed Values | `true` or `false` | ## 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 -| | | -|---|---| -| Default Value | false | -| Allowed Values | `true` or `false` | +| | | +|-----------------|--------------------| +| Default Value | false | +| Allowed Values | `true` or `false` | diff --git a/docs/pmm/essentials/environmental.md b/docs/pmm/essentials/environmental.md index b795c5fb..a57cf9d5 100644 --- a/docs/pmm/essentials/environmental.md +++ b/docs/pmm/essentials/environmental.md @@ -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/). -| Attribute | Shell Command | Environment Variable | -|:------------------------------------------------------|:----------------------------------------------|:--------------------------| -| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | -| [Time to Run](#time-to-run) | `-t` or `--times` | `PMM_TIMES` | -| [Run Immediately](#run-immediately) | `-r` or `--run` | `PMM_RUN` | -| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TESTS` | -| [Debug](#debug) | `-db` or `--debug` | `PMM_DEBUG` | -| [Trace](#trace) | `-tr` or `--trace` | `PMM_TRACE` | -| [Log Requests](#log-requests) | `-lr` or `--log-requests` | `PMM_LOG_REQUESTS` | -| [Timeout](#timeout) | `-ti` or `--timeout` | `PMM_TIMEOUT` | -| [Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | -| [Playlists Only](#playlists-only) | `-po` or `--playlists-only` | `PMM_PLAYLISTS_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` | -| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` | -| [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` | -| [Libraries First](#libraries-first) | `-lf` or `--libraries-first` | `PMM_LIBRARIES_FIRST` | -| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | -| [Ignore Ghost](#ignore-ghost) | `-ig` or `--ignore-ghost` | `PMM_IGNORE_GHOST` | -| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | -| [Delete Labels](#delete-labels) | `-dl` or `--delete-labels` | `PMM_DELETE_LABELS` | -| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | -| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | -| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | -| [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` | -| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | -| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | -| [Config Secrets](#config-secrets) | `--pmm-***` | `PMM_***` | +| Attribute | Shell Command | Environment Variable | +|:------------------------------------------------------|:----------------------------------------------|:-------------------------| +| [Config](#config) | `-c` or `--config` | `PMM_CONFIG` | +| [Time to Run](#time-to-run) | `-t` or `--times` | `PMM_TIMES` | +| [Run Immediately](#run-immediately) | `-r` or `--run` | `PMM_RUN` | +| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TESTS` | +| [Debug](#debug) | `-db` or `--debug` | `PMM_DEBUG` | +| [Trace](#trace) | `-tr` or `--trace` | `PMM_TRACE` | +| [Log Requests](#log-requests) | `-lr` or `--log-requests` | `PMM_LOG_REQUESTS` | +| [Timeout](#timeout) | `-ti` or `--timeout` | `PMM_TIMEOUT` | +| [Collections Only](#collections-only) | `-co` or `--collections-only` | `PMM_COLLECTIONS_ONLY` | +| [Playlists Only](#playlists-only) | `-po` or `--playlists-only` | `PMM_PLAYLISTS_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` | +| [Run Collections](#run-collections) | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` | +| [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` | +| [Ignore Schedules](#ignore-schedules) | `-is` or `--ignore-schedules` | `PMM_IGNORE_SCHEDULES` | +| [Ignore Ghost](#ignore-ghost) | `-ig` or `--ignore-ghost` | `PMM_IGNORE_GHOST` | +| [Delete Collections](#delete-collections) | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` | +| [Delete Labels](#delete-labels) | `-dl` or `--delete-labels` | `PMM_DELETE_LABELS` | +| [Resume Run](#resume-run) | `-re` or `--resume` | `PMM_RESUME` | +| [No Countdown](#no-countdown) | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` | +| [No Missing](#no-missing) | `-nm` or `--no-missing` | `PMM_NO_MISSING` | +| [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` | +| [Divider Character](#divider-character--screen-width) | `-d` or `--divider` | `PMM_DIVIDER` | +| [Screen Width](#divider-character--screen-width) | `-w` or `--width` | `PMM_WIDTH` | +| [Config Secrets](#config-secrets) | `--pmm-***` | `PMM_***` | 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" ``` -### 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 all schedules for the run. diff --git a/mkdocs.yml b/mkdocs.yml index d1ec0810..39462843 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -264,125 +264,133 @@ nav: - Overview: metadata/metadata.md - Templates: builders/templates.md - Filters: builders/filters.md - - Builders Overview: metadata/builders.md - - "PLEX & SMART BUILDERS": - - Plex Builders: - - Overview: builders/plex.md - - Plex All: builders/plex/#plex-all - - Plex Watchlist: builders/plex/#plex-watchlist - - Plex Pilots: builders/plex/#plex-pilots - - Plex Collectionless: builders/plex/#plex-collectionless - - Plex Search: builders/plex/#plex-search - - "Smart Builders": - - Overview: builders/smart.md - - Smart Label: builders/smart/#smart-label - - Smart Filter: builders/smart/#smart-filter - - "THIRD-PARTY BUILDERS": - - TMDb Builders: - - Overview: builders/tmdb.md - - TMDb Collection: builders/tmdb/#tmdb-collection - - TMDb List: builders/tmdb/#tmdb-list - - TMDb Actor: builders/tmdb/#tmdb-actor - - TMDb Crew: builders/tmdb/#tmdb-crew - - TMDb Director: builders/tmdb/#tmdb-director - - TMDb Producer: builders/tmdb/#tmdb-producer - - TMDb Writer: builders/tmdb/#tmdb-writer - - TMDb Movie: builders/tmdb/#tmdb-movie - - TMDb Show: builders/tmdb/#tmdb-show - - TMDb Company: builders/tmdb/#tmdb-company - - TMDb Network: builders/tmdb/#tmdb-network - - TMDb Keyword: builders/tmdb/#tmdb-keyword - - TMDb Popular: builders/tmdb/#tmdb-popular - - TMDb Now Playing: builders/tmdb/#tmdb-now-playing - - TMDb Top Rated: builders/tmdb/#tmdb-top-rated - - TMDb Upcoming: builders/tmdb/#tmdb-upcoming - - TMDb Airing Today: builders/tmdb/#tmdb-airing-today - - TMDb On the Air: builders/tmdb/#tmdb-on-the-air - - TMDb Trending Daily: builders/tmdb/#tmdb-trending-daily - - TMDb Trending Weekly: builders/tmdb/#tmdb-trending-weekly - - TMDb Discover: builders/tmdb/#tmdb-discover - - TVDb Builders: - - Overview: builders/tvdb.md - - TVDb List: builders/tvdb/#tvdb-list - - TVDb Movie: builders/tvdb/#tvdb-movie - - TVDb Show: builders/tvdb/#tvdb-show - - IMDb Builders: - - Overview: builders/imdb.md - - IMDb ID: builders/imdb/#imdb-id - - IMDb Chart: builders/imdb/#imdb-chart - - IMDb List: builders/imdb/#imdb-list - - IMDb Watchlist: builders/imdb/#imdb-watchlist - - Trakt Builders: - - Overview: builders/trakt.md - - Trakt List: builders/trakt/#trakt-list - - Trakt Chart: builders/trakt/#trakt-chart - - Trakt Userlist: builders/trakt/#trakt-userlist - - Trakt Recommendations: builders/trakt/#trakt-recommendations - - Trakt Box Office: builders/trakt/#trakt-box-office - - Tautulli Builders: - - Overview: builders/tautulli.md - - Tautulli Popular/Watched: builders/tautulli/#tautulli-popular-watched - - Radarr Builders: - - Overview: builders/radarr.md - - Radarr All: builders/radarr/#radarr-all - - Radarr Taglist: builders/radarr/#radarr-taglist - - Sonarr Builders: - - Overview: builders/sonarr.md - - Sonarr All: builders/sonarr/#sonarr-all - - Sonarr Taglist: builders/sonarr/#sonarr-taglist - - MdbList Builders: - - Overview: builders/mdblist.md - - MdbList List: builders/mdblist/#mdblist-list - - Letterboxd Builders: - - Overview: builders/letterboxd.md - - Letterboxd List: builders/letterboxd/#letterboxd-list - - ICheckMovies Builders: - - Overview: builders/icheckmovies.md - - ICheckMovies List: builders/icheckmovies/#icheckmovies-list - - FlixPatrol Builders: - - Overview: builders/flixpatrol.md - - FlixPatrol Top Platform: builders/flixpatrol/#flixpatrol-top - - FlixPatrol Popular: builders/flixpatrol/#flixpatrol-popular - - FlixPatrol Demographics: builders/flixpatrol/#flixpatrol-demographics - - FlixPatrol URL: builders/flixpatrol/#flixpatrol-url - - Reciperr Builders: - - Overview: builders/reciperr.md - - Reciperr List: builders/reciperr/#reciperr-list - - StevenLu Builders: - - Overview: builders/stevenlu.md - - StevenLu List: builders/stevenlu/#stevenlu-s-popular-movies-list - - AniDB Builders: - - Overview: builders/anidb.md - - AniDB ID: builders/anidb/#anidb-id - - AniDB Relation: builders/anidb/#anidb-relation - - AniDB Popular: builders/anidb/#anidb-popular - - AniDB Tag: builders/anidb/#anidb-tag - - AniList Builders: - - Overview: builders/anilist.md - - AniList Top Rated: builders/anilist/#anilist-top-rated - - AniList Anilist Popular: builders/anilist/#anilist-anilist-popular - - AniList Trending: builders/anilist/#anilist-trending - - AniList Relations: builders/anilist/#anilist-relations - - AniList Studio: builders/anilist/#anilist-studio - - AniList ID: builders/anilist/#anilist-id - - AniList UserList: builders/anilist/#anilist-userlist - - AniList Search: builders/anilist/#anilist-search - - MyAnimeList Builders: - - Overview: builders/myanimelist.md - - MyAnimeList Search: builders/myanimelist/#myanimelist-search - - MyAnimeList Top All: builders/myanimelist/#myanimelist-top-all - - MyAnimeList Top Airing: builders/myanimelist/#myanimelist-top-airing - - MyAnimeList Top Upcoming: builders/myanimelist/#myanimelist-top-upcoming - - MyAnimeList Top TV Series: builders/myanimelist/#myanimelist-top-tv-series - - 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 + - "EDITING METADATA": + - 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: + - Overview: builders/plex.md + - Plex All: builders/plex/#plex-all + - Plex Watchlist: builders/plex/#plex-watchlist + - Plex Pilots: builders/plex/#plex-pilots + - Plex Collectionless: builders/plex/#plex-collectionless + - Plex Search: builders/plex/#plex-search + - "Smart Builders": + - Overview: builders/smart.md + - Smart Label: builders/smart/#smart-label + - Smart Filter: builders/smart/#smart-filter + - "Third-Party Builders": + - Overview: builders/overview/thirdparty.md + - TMDb Builders: + - Overview: builders/tmdb.md + - TMDb Collection: builders/tmdb/#tmdb-collection + - TMDb List: builders/tmdb/#tmdb-list + - TMDb Actor: builders/tmdb/#tmdb-actor + - TMDb Crew: builders/tmdb/#tmdb-crew + - TMDb Director: builders/tmdb/#tmdb-director + - TMDb Producer: builders/tmdb/#tmdb-producer + - TMDb Writer: builders/tmdb/#tmdb-writer + - TMDb Movie: builders/tmdb/#tmdb-movie + - TMDb Show: builders/tmdb/#tmdb-show + - TMDb Company: builders/tmdb/#tmdb-company + - TMDb Network: builders/tmdb/#tmdb-network + - TMDb Keyword: builders/tmdb/#tmdb-keyword + - TMDb Popular: builders/tmdb/#tmdb-popular + - TMDb Now Playing: builders/tmdb/#tmdb-now-playing + - TMDb Top Rated: builders/tmdb/#tmdb-top-rated + - TMDb Upcoming: builders/tmdb/#tmdb-upcoming + - TMDb Airing Today: builders/tmdb/#tmdb-airing-today + - TMDb On the Air: builders/tmdb/#tmdb-on-the-air + - TMDb Trending Daily: builders/tmdb/#tmdb-trending-daily + - TMDb Trending Weekly: builders/tmdb/#tmdb-trending-weekly + - TMDb Discover: builders/tmdb/#tmdb-discover + - TVDb Builders: + - Overview: builders/tvdb.md + - TVDb List: builders/tvdb/#tvdb-list + - TVDb Movie: builders/tvdb/#tvdb-movie + - TVDb Show: builders/tvdb/#tvdb-show + - IMDb Builders: + - Overview: builders/imdb.md + - IMDb ID: builders/imdb/#imdb-id + - IMDb Chart: builders/imdb/#imdb-chart + - IMDb List: builders/imdb/#imdb-list + - IMDb Watchlist: builders/imdb/#imdb-watchlist + - Trakt Builders: + - Overview: builders/trakt.md + - Trakt List: builders/trakt/#trakt-list + - Trakt Chart: builders/trakt/#trakt-chart + - Trakt Userlist: builders/trakt/#trakt-userlist + - Trakt Recommendations: builders/trakt/#trakt-recommendations + - Trakt Box Office: builders/trakt/#trakt-box-office + - Tautulli Builders: + - Overview: builders/tautulli.md + - Tautulli Popular/Watched: builders/tautulli/#tautulli-popular-watched + - Radarr Builders: + - Overview: builders/radarr.md + - Radarr All: builders/radarr/#radarr-all + - Radarr Taglist: builders/radarr/#radarr-taglist + - Sonarr Builders: + - Overview: builders/sonarr.md + - Sonarr All: builders/sonarr/#sonarr-all + - Sonarr Taglist: builders/sonarr/#sonarr-taglist + - MdbList Builders: + - Overview: builders/mdblist.md + - MdbList List: builders/mdblist/#mdblist-list + - Letterboxd Builders: + - Overview: builders/letterboxd.md + - Letterboxd List: builders/letterboxd/#letterboxd-list + - ICheckMovies Builders: + - Overview: builders/icheckmovies.md + - ICheckMovies List: builders/icheckmovies/#icheckmovies-list + - FlixPatrol Builders: + - Overview: builders/flixpatrol.md + - FlixPatrol Top Platform: builders/flixpatrol/#flixpatrol-top + - FlixPatrol Popular: builders/flixpatrol/#flixpatrol-popular + - FlixPatrol Demographics: builders/flixpatrol/#flixpatrol-demographics + - FlixPatrol URL: builders/flixpatrol/#flixpatrol-url + - Reciperr Builders: + - Overview: builders/reciperr.md + - Reciperr List: builders/reciperr/#reciperr-list + - StevenLu Builders: + - Overview: builders/stevenlu.md + - StevenLu List: builders/stevenlu/#stevenlu-s-popular-movies-list + - AniDB Builders: + - Overview: builders/anidb.md + - AniDB ID: builders/anidb/#anidb-id + - AniDB Relation: builders/anidb/#anidb-relation + - AniDB Popular: builders/anidb/#anidb-popular + - AniDB Tag: builders/anidb/#anidb-tag + - AniList Builders: + - Overview: builders/anilist.md + - AniList Top Rated: builders/anilist/#anilist-top-rated + - AniList Anilist Popular: builders/anilist/#anilist-anilist-popular + - AniList Trending: builders/anilist/#anilist-trending + - AniList Relations: builders/anilist/#anilist-relations + - AniList Studio: builders/anilist/#anilist-studio + - AniList ID: builders/anilist/#anilist-id + - AniList UserList: builders/anilist/#anilist-userlist + - AniList Search: builders/anilist/#anilist-search + - MyAnimeList Builders: + - Overview: builders/myanimelist.md + - MyAnimeList Search: builders/myanimelist/#myanimelist-search + - MyAnimeList Top All: builders/myanimelist/#myanimelist-top-all + - MyAnimeList Top Airing: builders/myanimelist/#myanimelist-top-airing + - MyAnimeList Top Upcoming: builders/myanimelist/#myanimelist-top-upcoming + - MyAnimeList Top TV Series: builders/myanimelist/#myanimelist-top-tv-series + - 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: - Overview: metadata/dynamic.md - TMDb Dynamic Collections: @@ -429,17 +437,13 @@ nav: - Collection/Playlist Metadata Updates: builders/details/metadata.md - Item Metadata Updates: builders/details/item_metadata.md - 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: - Plex Ratings Explained: pmm/essentials/ratings.md - Scheduling Guide: pmm/install/guides/scheduling.md - Image Asset Directory Guide: pmm/install/guides/assets.md - Log Files: pmm/essentials/logs.md - YAML File Guide: pmm/essentials/yaml.md + - Formula 1 Metadata Guide: pmm/install/guides/formula.md - COMPANION SCRIPTS: - Overview: pmm/essentials/scripts.md - Plex Image Cleanup: pmm/essentials/scripts/image-cleanup.md