some more doc updates - namely hiding examples from the toc on the right.

pull/1726/head
YozoraXCII 1 year ago
parent 8224583229
commit abbd3bbf1c

@ -77,7 +77,7 @@ default_template:
</tr>
</table>
### Example: Create collection for every TMDb Collection found in the library.
#### Example: Create collection for every TMDb Collection found in the library.
```yaml
dynamic_collections:
@ -128,7 +128,7 @@ default_template:
</tr>
</table>
### Example: Create collection for the top 10 popular people
#### Example: Create collection for the top 10 popular people
```yaml
dynamic_collections:
@ -177,7 +177,7 @@ default_template:
</tr>
</table>
### Example: Create collection for every TMDb Original Language found in the library.
#### Example: Create collection for every TMDb Original Language found in the library.
```yaml
dynamic_collections:
@ -225,7 +225,7 @@ default_template:
</tr>
</table>
### Example: Create collection for every TMDb Origin Country found in the library.
#### Example: Create collection for every TMDb Origin Country found in the library.
```yaml
dynamic_collections:
@ -273,7 +273,7 @@ default_template:
</tr>
</table>
### Example: Create collections for each of the lists that the users have created
#### Example: Create collections for each of the lists that the users have created
```yaml
dynamic_collections:
@ -324,7 +324,7 @@ default_template:
</tr>
</table>
### Example: Create collections for each of the lists that the user has liked within Trakt
#### Example: Create collections for each of the lists that the user has liked within Trakt
```yaml
dynamic_collections:
@ -375,7 +375,7 @@ default_template:
</tr>
</table>
### Example: Create a collection for each of the people on the trakt list
#### Example: Create a collection for each of the people on the trakt list
```yaml
dynamic_collections:
Trakt People Lists:
@ -450,7 +450,7 @@ default_template:
* `minimum` determines the minimum number of times the actor must appear within `depth` for the collection to be created.
* `limit` determines the number of actor collection to max out at. (i.e. if to make collections for the top 25 actors)
### Example:
#### Example:
* Create a collection for the top 25 actors who appear in the top 5 billing credits of movies
@ -463,7 +463,7 @@ dynamic_collections:
limit: 25
```
### Example:
#### Example:
* Create a collection for actors who appear in the top 5 billing credits of movies
* Only create the collection if they are in the top 5 billing credits of at least 20 movies
@ -543,7 +543,7 @@ default_template:
* `minimum` determines the minimum number of times the director must appear within `depth` for the collection to be created.
* `limit` determines the number of director collection to max out at. (i.e. if to make collections for the top 25 directors)
### Example:
#### Example:
* Create a collection for the top 5 directors who appear in the top director credit of movies
@ -556,7 +556,7 @@ dynamic_collections:
limit: 5
```
### Example:
#### Example:
* Create a collection for directors who appear in the top director credits of movies
* Only create the collection if they are in the top director credits of at least 10 movies
@ -636,7 +636,7 @@ default_template:
* `minimum` determines the minimum number of times the writer must appear within `depth` for the collection to be created.
* `limit` determines the number of writer collection to max out at. (i.e. if to make collections for the top 25 writers)
### Example:
#### Example:
* Create a collection for the top 5 writers who appear in the top writer credit of movies
@ -649,7 +649,7 @@ dynamic_collections:
limit: 5
```
### Example:
#### Example:
* Create a collection for writers who appear in the top writer credits of movies
* Only create the collection if they are in the top writer credits of at least 10 movies
@ -729,7 +729,7 @@ default_template:
* `minimum` determines the minimum number of times the producer must appear within `depth` for the collection to be created.
* `limit` determines the number of producer collection to max out at. (i.e. if to make collections for the top 25 producers)
### Example:
#### Example:
* Create a collection for the top 5 producers who appear in the top producer credit of movies
@ -742,7 +742,7 @@ dynamic_collections:
limit: 5
```
### Example:
#### Example:
* Create a collection for producers who appear in the top producer credits of movies
* Only create the collection if they are in the top producer credits of at least 10 movies
@ -798,7 +798,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create dynamic collections based on each genre found in the library (TV and Movies)
* Amend the template to increase the limit from 50 to 100
@ -864,7 +864,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create dynamic collections based on each Album genre found in the library
* Amend the template to increase the limit from 10 to 20
@ -930,7 +930,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create dynamic collections based on each content rating found in the library (TV and Movies)
* Amend the template to increase the limit from 50 to 100
@ -991,7 +991,7 @@ default_template:
</tr>
</table>
### Example
#### Example
* Create dynamic collections based on each year found in the library (TV and Movies)
* Use the `include` attribute to only show collections for years "2020", "2021" and "2022"
@ -1050,7 +1050,7 @@ default_template:
</tr>
</table>
### Example
#### Example
* Create dynamic collections based on each year found in the library (TV and Movies)
* Use the `include` attribute to only show collections for years "2020", "2021" and "2022"
@ -1109,7 +1109,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for each decade found in the library (TV and Movies)
* Name the collection "Top [Decade] Movies"
@ -1166,7 +1166,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top movies from each country found in the library
* Name the collection "Top [Country] Cinema"
@ -1225,7 +1225,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for each resolution found in the library
* Name the collection "[Resolution] Movies"
@ -1284,7 +1284,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for each subtitle language found in the library
@ -1336,7 +1336,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for each audio language found in the library
@ -1389,7 +1389,7 @@ default_template:
</table>
### Example:
#### Example:
* Create a collection for each studio found in a Movies library
@ -1450,7 +1450,7 @@ default_template:
</table>
### Example:
#### Example:
* Create a collection for each edition found in a Movies library
@ -1511,7 +1511,7 @@ default_template:
</table>
### Example:
#### Example:
* Create a collection for each network found in a TV Shows library
@ -1571,7 +1571,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top 20 artists for each mood found in the Music library
* Amend the template to increase the limit from 10 to 20
@ -1634,7 +1634,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top 20 albums for each mood found in the Music library
* Amend the template to increase the limit from 10 to 20
@ -1697,7 +1697,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top 100 tracks for each mood found in the Music library
* Amend the template to increase the limit from 50 to 100
@ -1760,7 +1760,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top 10 artists for each style found in the Music library
* Name the collection "Top [Style] Artists"
@ -1822,7 +1822,7 @@ default_template:
</tr>
</table>
### Example:
#### Example:
* Create a collection for the top 10 albums for each style found in the Music library
* Name the collection "Top [Style] Albums"
@ -1901,7 +1901,7 @@ Creates a collection for each number defined.
</table>
### Example:
#### Example:
* Create a collection for the Oscar Winner by Year for the last 5 years
* Name the collection "Oscars Winners [Number]"
@ -1956,7 +1956,7 @@ Creates a collection for each custom `key: key_name` pair defined.
</tr>
</table>
### Example:
#### Example:
* Create a collection for the various Streaming Services
* Name the collection "[Key Name] Movies"

@ -57,7 +57,7 @@ Another way to specify environmental variables is by adding them to a .env file
Further explanation and examples of each command can be found below.
Environment variables are expressed as `KEY=VALUE` Depending on the context where you are specifying them, you may enter those two things in two different fields, or some other way. The examples below show how you would specify the environment variable in a script or a `docker run` command. Things like Portainer or a NAS Docker UI will have different ways to specify these things.
Environment variables are expressed as `KEY=VALUE` depending on the context where you are specifying them, you may enter those two things in two different fields, or some other way. The examples below show how you would specify the environment variable in a script or a `docker run` command. Things like Portainer or a NAS Docker UI will have different ways to specify these things.
## Config
@ -73,11 +73,11 @@ Specify the location of the configuration YAML file.
!!! example
=== "Local Environment"
```
python plex_meta_manager.py --config <path_to_config>
python plex_meta_manager.py --config /data/config.yml
```
=== "Docker Environment"
```
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config <path_to_config>
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --config /data/config.yml
```
### Time to Run
@ -140,6 +140,22 @@ Perform a debug test run immediately, bypassing the time to run flag. This will
```
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-tests
```
=== "Example Collection File"
In my collection YAML file, I would set `true: false` like this:
```yaml
collections:
Marvel Cinematic Universe:
test: true # HERE
trakt_list: https://trakt.tv/users/jawann2002/lists/marvel-cinematic-universe-movies?sort=rank,asc
smart_label: release.desc
```
collections:
Marvel Cinematic Universe:
trakt_list: https://trakt.tv/users/jawann2002/lists/marvel-cinematic-universe-movies?sort=rank,asc
smart_label: release.desc
### Debug
@ -298,11 +314,11 @@ Only run library overlays skipping collections/metadata, playlists, and operatio
Perform a collections run immediately to run only the pre-defined collections, bypassing the time to run flag.
| | Shell Command | Environment Variable |
|:--------|:------------------------------------------------|:----------------------|
| Flags | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` |
| Example | `--run-collections "Harry Potter\ | Star Wars"` |`PMM_COLLECTIONS=Harry Potter\|Star Wars`|
| Values | Pipe-separated list of Collection Names to run |
| | Shell Command | Environment Variable |
|:--------|:--------------------------------------------------|:---------------------------------------------|
| Flags | `-rc` or `--run-collections` | `PMM_RUN_COLLECTIONS` |
| Example | --run-collections "Harry Potter&#124;Star Wars" | PMM_COLLECTIONS=Harry Potter&#124;Star Wars |
| Values | Pipe-separated list of Collection Names to run |
!!! example
=== "Local Environment"
@ -318,43 +334,47 @@ Perform a collections run immediately to run only the pre-defined collections, b
Perform a libraries run immediately to run only the pre-defined libraries, bypassing the time to run flag.
| | Shell Command | Environment Variable |
|:--------|:--------------------------------------------|:---------------------|
| Flags | `-rl` or `--run-libraries` | `PMM_RUN_LIBRARIES` |
| Example | `--run-libraries "Movies - 4K\ | TV Shows - 4K"` |`PMM_LIBRARIES=Movies - 4K\|TV Shows - 4K`|
| Values | Pipe-separated list of Library Names to run |
| | Shell Command | Environment Variable |
|:--------|:--------------------------------------------------|:-----------------------------------------------|
| Flags | `-rl` or `--run-libraries` | `PMM_RUN_LIBRARIES` |
| Example | --run-libraries "Movies - 4K&#124;TV Shows - 4K" | PMM_LIBRARIES=Movies - 4K&#124;TV Shows - 4K` |
| Values | Pipe-separated list of Library Names to run |
!!! example
=== "Local Environment"
```
python plex_meta_manager.py --run-libraries "TV Shows"
python plex_meta_manager.py --run-libraries "Movies - 4K|TV Shows - 4K"
```
=== "Docker Environment"
```
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-libraries "TV Shows"
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-libraries "Movies - 4K|TV Shows - 4K"
```
### Run Metadata Files
Perform a metadata files run immediately to run only the pre-defined metadata files, bypassing the time to run flag.
| | Shell Command | Environment Variable |
|:-----------------|:-------------------------------------------------|:-------------------------|
| Flags | `-rm` or `--run-metadata-files` | `PMM_RUN_METADATA_FILES` |
| Example | `--run-metadata-files "Movies.yml\ | MovieCharts"` |`PMM_METADATA_FILES=Movies.yml\|MovieCharts`|
| Available Values | Pipe-separated list of Metadata Filenames to run |
???+ warning
Do not use this to run Overlay files, as Overlay files must run all together or not at all due to their nature.
| | Shell Command | Environment Variable |
|:-----------------|:--------------------------------------------------------|:-----------------------------------------------|
| Flags | `-rm` or `--run-metadata-files` | `PMM_RUN_METADATA_FILES` |
| Example | --run-metadata-files "Movies.yml&#124;MovieCharts" | PMM_METADATA_FILES=Movies.yml&#124;MovieCharts |
| Available Values | Pipe-separated list of Metadata Filenames to run |
* This works for all different metadata paths i.e. `git`, `url`, `file`, or `repo`.
* This works for all different metadata paths i.e. `pmm`, `git`, `url`, `file`, or `repo`.
!!! example
=== "Local Environment"
```
python plex_meta_manager.py --run-metadata-files "Movies"
python plex_meta_manager.py --run-metadata-files "Movies.yml|seasonal|genre"
```
=== "Docker Environment"
```
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --run-metadata-files "Movies"
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
@ -421,6 +441,10 @@ Ignore all ghost logging for the run. A ghost log is what's printed to the conso
Delete all collections in a Library prior to running collections/operations.
???+ warning
You will lose **all** collections in the library - this will delete all collections, including ones not created or maintained by Plex Meta Manager.
| | Shell Command | Environment Variable |
|:---------|:--------------------------------|:-------------------------------|
| Flags | `-dc` or `--delete-collections` | `PMM_DELETE_COLLECTIONS` |
@ -440,6 +464,14 @@ Delete all collections in a Library prior to running collections/operations.
Delete all labels on every item in a Library prior to running collections/operations.
???+ warning
To preserve functionality of PMM, this will **not** remove the Overlay label, which is required for PMM to know which items have Overlays applied.
This will impact any [Smart Label Collections](../../builders../smart.md#smart-label) that you have in your library.
We do not recommend using this on a regular basis if you also use any operations or collections that update labels, as you are effectively deleting and adding labels on each run.
| | Shell Command | Environment Variable |
|:---------|:---------------------------|:--------------------------|
| Flags | `-dl` or `--delete-labels` | `PMM_DELETE_LABELS` |
@ -498,10 +530,10 @@ Run without displaying a countdown to the next scheduled run.
Run without utilizing the missing movie/show functions.
| | Shell Command | Environment Variable |
|:--------|:---------------------------|:------------------------|
| Flags | `-nc` or `--no-countdown` | `PMM_NO_COUNTDOWN` |
| Example | `--no-countdown` | `PMM_NO_COUNTDOWN=true` |
| | Shell Command | Environment Variable |
|:--------|:------------------------|:-----------------------|
| Flags | `-nm` or `--no-missing` | `PMM_NO_MISSING` |
| Example | `--no-missing` | `PMM_NO_MISSING=true` |
!!! example
=== "Local Environment"

@ -4,7 +4,9 @@ search:
---
# Frequently Asked Questions & Knowledgebase
This page aims to provide knowledge based on combined user experience, and to answer the frequent questions that we are asked in our [Discord Server](https://discord.gg/NfH6mGFuAB).
This page aims to provide knowledge based on combined user experience, and to answer the frequent questions that we are asked in our
If you have a question that is not answered here, try enter some keywords into the search bar above, or join our [Discord Server](https://discord.gg/NfH6mGFuAB).
## Frequently Asked Questions

@ -2,22 +2,24 @@
This article will walk you through getting Plex-Meta-Manager [PMM] set up and running. It will cover:
1. Retrieving the PMM code
2. Installing requirements
3. Setting up the initial config file
4. Setting up a metadata file and creating a couple sample collections.
1. Retrieving the PMM code
2. Installing requirements
3. Setting up the initial config file
4. Setting up a metadata file and creating a couple sample collections.
The specific steps you will be taking:
1. Verify that Python 3.8 or better is installed and install it if not
2. Verify that the Git tools are installed and install them if not
3. Use `git` to retrieve the code
4. Install requirements [extra bits of code required for PMM]
5. Gather two things that the script requires:
1. TMDb API Key
2. Plex URL and Token
6. Then, iteratively:
1. use `python` to run the script
2. use a text editor to modify a couple of text files until you have a working config file and a single working metadata file.
1. Verify that Python 3.8 or better is installed and install it if not
2. Verify that the Git tools are installed and install them if not
3. Use `git` to retrieve the code
4. Install requirements [extra bits of code required for PMM]
5. Gather two things that the script requires:
1. TMDb API Key
2. Plex URL and Token
6. Then, iteratively:
1. use `python` to run the script
2. use a text editor to modify a couple of text files until you have a working config file and a single working metadata file.
Note that running a Python script is inherently a pretty technical process. If you are unable or unwilling to learn the rudiments of using tools like python and git, you should probably strongly consider running PMM in [Docker](docker.md). That will eliminate the Python and git installs from this process and make it as simple as it can be.
@ -35,15 +37,17 @@ something like this
Thats a command youre going to type or paste into your terminal (OSX or Linux) or Powershell (Windows). In some cases it's displaying *output* from a command you've typed, but the difference should be apparent in context.
IMPORTANT NOTE:
This walkthrough is going to be pretty pedantic. Im assuming youre reading it because you have no idea how to get a Python script going, so Im proceeding from the assumption that you want to be walked through every little detail. Youre going to deliberately cause errors and then fix them as you go through it. This is to help you understand what exactly is going on behind the scenes so that when you see these sorts of problems in the wild you will have some background to understand whats happening. If I only give you the happy path, then when you make a typo later on youll have no idea where that typo might be or why its breaking things.
???+ warning ""
This walkthrough is going to be pretty pedantic. Im assuming youre reading it because you have no idea how to get a Python script going, so Im proceeding from the assumption that you want to be walked through every little detail. Youre going to deliberately cause errors and then fix them as you go through it. This is to help you understand what exactly is going on behind the scenes so that when you see these sorts of problems in the wild you will have some background to understand whats happening. If I only give you the happy path, then when you make a typo later on youll have no idea where that typo might be or why its breaking things.
I am assuming you do not have any of these tools already installed. When writing this up I started with a brand new Windows 10 install.
I am assuming you do not have any of these tools already installed. When writing this up I started with a brand new Windows 10 install.
This walkthrough involves typing commands into a command window. On Mac OS X or Linux, you can use your standard terminal window, whether that's the builtin Terminal app or something like iTerm. On Windows, you should use PowerShell. There are other options for command windows in Windows, but if you want this to work as written, which I assume is the case since you've read this far, you should use Powershell.
This walkthrough involves typing commands into a command window. On Mac OS X or Linux, you can use your standard terminal window, whether that's the builtin Terminal app or something like iTerm. On Windows, you should use PowerShell. There are other options for command windows in Windows, but if you want this to work as written, which I assume is the case since you've read this far, you should use Powershell.
???+ danger "Important"
IMPORTANT:
This walkthrough is assuming you are doing the entire process on the same platform; i.e. you're installing PMM and editing its config files on a single Linux, Windows, or OS X machine. It doesn't account for situations like running PMM on a Linux machine while editing the config files on your Windows box.
This walkthrough is assuming you are doing the entire process on the same platform; i.e. you're installing PMM and editing its config files on a single Linux, Windows, or OS X machine. It doesn't account for situations like running PMM on a Linux machine while editing the config files on your Windows box.
### Prepare a small test library [optional]

@ -27,6 +27,7 @@ For those who need full installation walkthroughs, please refer to the following
* [Docker Walkthrough](guides/docker.md) - this discusses using Docker at the command line
If you are using unRAID, Kubernetes, QNAP, or Synology refer to the following basic guide to Docker container setup for each system:
**this doesn't cover the PMM setup specifics found in the guides above**
* [unRAID Walkthrough](guides/unraid.md)
@ -70,11 +71,13 @@ python plex_meta_manager.py
```shell
docker run -it -v <PATH_TO_CONFIG>:/config:rw meisnate12/plex-meta-manager
```
* The `-it` flag allows you to interact with the script when needed (such as for Trakt or MyAnimeList authentication).
* The `-v <PATH_TO_CONFIG>:/config:rw` flag mounts the location you choose as a persistent volume to store your files.
* Change `<PATH_TO_CONFIG>` to a folder where your config.yml and other files are.
* The docker image defaults to running the configuration file named `config.yml` which resides in your persistent volume.
* If your directory has spaces (such as "My Documents"), place quotation marks around your directory pathing as shown here: `-v "<PATH_TO_CONFIG>:/config:rw"`
- The `-it` flag allows you to interact with the script when needed (such as for Trakt or MyAnimeList authentication).
- The `-v <PATH_TO_CONFIG>:/config:rw` flag mounts the location you choose as a persistent volume to store your files.
* Change `<PATH_TO_CONFIG>` to a folder where your config.yml and other files are.
* The docker image defaults to running the configuration file named `config.yml` which resides in your persistent volume.
* If your directory has spaces (such as "My Documents"), place quotation marks around your directory pathing as shown here: `-v "<PATH_TO_CONFIG>:/config:rw"`
Example Docker Run command:

@ -58,9 +58,8 @@
}
[data-md-color-scheme="slate"] .md-typeset code {
background-color: hsl(225deg 17.25% 6.84%);
background-color: hsl(225deg 8.87% 10.98%);
}
@media only screen and (min-width: 76.25em) {
.md-main__inner {
max-width: 80%;

@ -86,6 +86,7 @@ markdown_extensions:
- tables
- toc:
permalink: true
toc_depth: 3
- pymdownx.emoji:
emoji_generator: !!python/name:material.extensions.emoji.to_svg
emoji_index: !!python/name:material.extensions.emoji.twemoji

Loading…
Cancel
Save