[154] add collectionless default

pull/1141/head
meisnate12 2 years ago
parent c02659869a
commit 7f0ba463e7

@ -1 +1 @@
1.17.3-develop153
1.17.3-develop154

@ -0,0 +1,40 @@
##############################################################################
# Other Awards Collections #
# Created by Yozora, Bullmoose20, & Sohjiro #
# EDITING THIS FILE MAY CAUSE PULLING NEW UPDATES TO FAIL #
# https://metamanager.wiki/en/latest/defaults/both/collectionless.html #
##############################################################################
translations:
pmm: translations
templates:
collectionless:
default:
exclude_prefix:
- "!"
- "~"
summary: <<collectionless_summary>>
name: <<collectionless_name>>
sort_title: ~_Collectionless
collection_order: alpha
url_poster: https://raw.githubusercontent.com/meisnate12/Plex-Meta-Manager-Images/master/collectionless.jpg
optional:
- collection_mode
- exclude
url_poster: <<url_poster>>
collection_mode: hide
collection_order: <<collection_order>>
sort_title: <<sort_title>>
sync_mode: sync
summary: <<summary>>>
name: <<name>>
plex_collectionless:
exclude_prefix: <<exclude_prefix>>
exclude: <<exclude>>
collections:
Collectionless:
template:
- name: collectionless
- name: translation

@ -1,4 +1,9 @@
1.18.0.6 -> 1.18.0.7
Added collectionless_name and collectionless_summary
1.18.0.5 -> 1.18.0.6
Added Key Name 'Malayalam' to be translated
1.18.0.4 -> 1.18.0.5

@ -422,6 +422,9 @@ translations:
audio_language_other_name: Other Audio
audio_language_other_summary: <<library_translationU>>s filmed in other uncommon Languages.
collectionless_name: Collectionless
collectionless_summary: Collection of <<library_translationU>>s used to make Plex display items correctly.
# example key_name: TV-MA
content_rating_name: <<translated_key_name>> <<library_translationU>>s
content_rating_summary: <<library_translationU>>s that are rated <<translated_key_name>>.

@ -227,6 +227,7 @@ html_theme_options = {
("_menu", "Movie", "defaults/separators", [
("Actors", "defaults/both/actor"),
("Audio Languages", "defaults/both/audio_language"),
("Collectionless", "defaults/both/collectionless"),
("Common Sense Media Content Ratings", "defaults/both/content_rating_cs"),
("MyAnimeList Content Ratings", "defaults/both/content_rating_mal"),
("Content Ratings (US)", "defaults/movie/content_rating_us"),
@ -250,6 +251,7 @@ html_theme_options = {
("_menu", "Show", "defaults/separators", [
("Actors", "defaults/both/actor"),
("Audio Languages", "defaults/both/audio_language"),
("Collectionless", "defaults/both/collectionless"),
("Common Sense Media Content Ratings", "defaults/both/content_rating_cs"),
("MyAnimeList Content Ratings", "defaults/both/content_rating_mal"),
("US Content Ratings", "defaults/show/content_rating_us"),

@ -0,0 +1,69 @@
# Collectionless Collection
The `collectionless` Default Metadata File is used to create a [Collectionless collection](../../metadata/builders/plex.md#plex-collectionless) to help Show/Hide Movies/Shows properly in your library.
**For this file to work it needs to run last under `metadata_path` and all other normal collections must use `collection_mode: hide_items`.**
**This file works with Movie and Show Libraries.**
![](../images/collectionless.png)
## Collection
| Collection | Description |
|:-----------------|:-------------------------------------------------------------------------------------------------------------------------------------------|
| `Collectionless` | [Collectionless collection](../../metadata/builders/plex.md#plex-collectionless) to help Show/Hide Movies/Shows properly in your library.. |
## Config
The below YAML in your config.yml will create the collections:
```yaml
libraries:
Movies:
metadata_path:
- pmm: collectionless
TV Shows:
metadata_path:
- pmm: collectionless
```
## Template Variables
Template Variables can be used to manipulate the file in various ways to slightly change how it works without having to make your own local copy.
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.
**[Shared Collection Variables](../variables) are NOT available to this default file.**
| Variable | Description & Values |
|:-------------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `name` | **Description:** Changes the name of the collection.<br>**Values:** New Collection Name |
| `summary` | **Description:** Changes the summary of the collection.<br>**Values:** New Collection Summary |
| `sort_title` | **Description:** Sets the sort title for the collection.<br>**Default:** `~_Collectionless`<br>**Values:** Any String |
| `collection_order` | **Description:** Changes the Collection Order for all collections in this file.<br>**Default:** `alpha`<br>**Values:**<table class="clearTable"><tr><td>`release`</td><td>Order Collection by Release Dates</td></tr><tr><td>`alpha`</td><td>Order Collection Alphabetically</td></tr><tr><td>`custom`</td><td>Order Collection Via the Builder Order</td></tr><tr><td>[Any `plex_search` Sort Option](../../metadata/builders/plex.md#sort-options)</td><td>Order Collection by any `plex_search` Sort Option</td></tr></table> |
| `url_poster` | **Description:** Changes the poster url of thecollection.<br>**Values:** URL directly to the Image |
| `exclude` | **Description:** Exclude these Collections from being considered for collectionless.<br>**Values:** List of Collections |
| `exclude_prefix` | **Description:** Overrides the [default exclude_prefix list](#default-exclude_prefix). Exclude Collections with one of these prefixes from being considered for collectionless.<br>**Default:** [default exclude_prefix list](#default-exclude_prefix)<br>**Values:** List of Prefixes | |
The below is an example config.yml extract with some Template Variables added in to change how the file works.
```yaml
libraries:
Movies:
metadata_path:
- pmm: collectionless
template_variables:
exclude:
- Marvel Cinematic Universe
collection_order: release
```
## Default `exclude_prefix`
```yaml
exclude_prefix:
- "!"
- "~"
```

@ -40,6 +40,7 @@ These collections are applied by calling the below paths into the `metadata_path
|:------------------------------------------------------------------------------------|:--------------------:|:-------------------------------------------------------|:-----------------:|:----------------:|
| [Actor](both/actor) | `actor` | Chris Hemsworth, Margot Robbie | &#9989; | &#9989; |
| [Audio Language](both/audio_language) | `audio_language` | French Audio, Korean Audio | &#9989; | &#9989; |
| [Collectionless](both/collectionless) | `collectionless` | Collectionless | &#9989; | &#9989; |
| [Common Sense Content Rating](both/content_rating_cs) | `content_rating_cs` | 1, 2, 3, 4, 5, 6, 15, 16, 17, 18 | &#9989; | &#9989; |
| [MyAnimeList Content Rating](both/content_rating_mal) | `content_rating_mal` | G, PG, PG-13, R, R+, Rx | &#9989; | &#9989; |
| [Content Rating (UK)](both/content_rating_uk) | `content_rating_uk` | U, PG, 12A | &#9989; | &#9989; |

@ -1,6 +1,6 @@
# Shared Collection Template Variables
There are some `templates_variables` that all the PMM Defaults except `franchise` can use to manipulate the file from the default settings which are provided.
There are some `templates_variables` that all the PMM Defaults except [`franchise`](movie/franchise) and [`collectionless`](both/collectionless) can use to manipulate the file from the default settings which are provided.
Note that the `templates_variables:` section only needs to be used if you do want to actually change how the defaults work. Any value not specified is its default value if it has one if not it's just ignored.

@ -12,6 +12,8 @@ These docs are assuming you have a basic understanding of Docker concepts. One
| [Time to Run](#time-to-run) | `-t` or `--time` | `PMM_TIME` |
| [Run](#run) | `-r` or `--run` | `PMM_RUN` |
| [Run Tests](#run-tests) | `-rt`, `--tests`, or `--run-tests` | `PMM_TEST` |
| [Debug](#debug) | `-db` or `--debug` | `PMM_DEBUG` |
| [Trace](#trace) | `-tr` or `--trace` | `PMM_TRACE` |
| [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` |
@ -174,7 +176,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Run Tests
Run Plex Meta Manager in test/debug mode
Perform a debug test run immediately, bypassing the time to run flag. This will only run collections with `test: true` in the definition.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -213,9 +215,87 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
</details>
### Debug
Run with Debug Logs Reporting to the Command Window.
<table class="dualTable colwidths-auto align-default table">
<tr>
<th style="background-color: #222;"></th>
<th>Shell</th>
<th>Environment</th>
</tr>
<tr>
<th>Flags</th>
<td><code>-db</code> or <code>--debug</code></td>
<td><code>PMM_DEBUG</code></td>
</tr>
<tr>
<th>Example</th>
<td><code>--debug</code></td>
<td><code>PMM_TIMEOUT=true</code></td>
</tr>
</table>
<details>
<summary>Local Environment</summary>
```shell
python plex_meta_manager.py --debug
```
</details>
<details>
<summary>Docker Environment</summary>
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --debug
```
</details>
### Trace
Run with extra Trace Debug Logs.
<table class="dualTable colwidths-auto align-default table">
<tr>
<th style="background-color: #222;"></th>
<th>Shell</th>
<th>Environment</th>
</tr>
<tr>
<th>Flags</th>
<td><code>-tr</code> or <code>--trace</code></td>
<td><code>PMM_TIMEOUT</code></td>
</tr>
<tr>
<th>Example</th>
<td><code>--trace</code></td>
<td><code>PMM_TRACE=true</code></td>
</tr>
</table>
<details>
<summary>Local Environment</summary>
```shell
python plex_meta_manager.py --trace
```
</details>
<details>
<summary>Docker Environment</summary>
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --trace0
```
</details>
### Timeout
Change the main Plex Meta Manager timeout.
Change the main Plex Meta Manager timeout. This timeout is overwritten byt those in your config file for those services.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -239,7 +319,7 @@ Change the main Plex Meta Manager timeout.
<summary>Local Environment</summary>
```shell
python plex_meta_manager.py ---timeout 360
python plex_meta_manager.py --timeout 360
```
</details>
@ -247,7 +327,7 @@ python plex_meta_manager.py ---timeout 360
<summary>Docker Environment</summary>
```shell
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager ---timeout 360
docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex-meta-manager --timeout 360
```
</details>
@ -411,7 +491,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Run Collections
Run only the pre-defined collections
Perform a collections run immediately to run only the pre-defined collections, bypassing the time to run flag.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -454,7 +534,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Run Libraries
Run only the pre-defined libraries
Perform a libraries run immediately to run only the pre-defined libraries, bypassing the time to run flag.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -497,7 +577,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Run Metadata Files
Run only the pre-defined metadata files
Perform a metadata files run immediately to run only the pre-defined metadata files, bypassing the time to run flag.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -736,7 +816,8 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
</details>
### Resume Run
Resume a run from a specific collection use the `--resume` option.
Perform a resume run immediately resuming from the first instance of the specified collection, bypassing the time to run flag.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -857,7 +938,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### No Report
Run without saving report.
Run without saving the report.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -896,7 +977,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Read Only Config
Run without writing to the configuration file
Run without writing to the configuration file.
<table class="dualTable colwidths-auto align-default table">
<tr>
@ -935,7 +1016,7 @@ docker run -it -v "X:\Media\Plex Meta Manager\config:/config:rw" meisnate12/plex
### Divider Character & Screen Width
Change the terminal output divider character or width
Change the terminal output divider character or width.
#### Divider Character

@ -76,18 +76,25 @@ To combat the problem above you set all collections to `Hide items in this colle
With the variability of collections generated by the Plex Meta Manager maintaining a collection like this becomes very difficult, so in order to automate it, you can use `plex_collectionless`. You just have to tell it what collections to exclude or what collection prefixes to exclude.
There are two attributes for `plex_collectionless`, `exclude` (To exclude specific collections) and `exclude_prefix` (To exclude every collection whose title or sort title starts with the prefix). At least one exclusion is required.
There are two attributes for `plex_collectionless`:
* `exclude`: Exclude these Collections from being considered for collectionless.
* `exclude_prefix` Exclude Collections whose title or sort title starts with a prefix from being considered for collectionless.
**At least one exclusion is required.**
```yaml
collections:
Collectionless:
plex_collectionless:
exclude_prefix:
- +
- ~
exclude: Marvel Cinematic Universe
- "!"
- "+"
- "~"
exclude:
- Marvel Cinematic Universe
sort_title: ~_Collectionless
collection_order: alpha
collection_mode: hide
```
* Both `exclude` and `exclude_prefix` can take multiple values as a List.

@ -18,8 +18,8 @@ if sys.version_info[0] != 3 or sys.version_info[1] < 7:
sys.exit(0)
parser = argparse.ArgumentParser()
parser.add_argument("-db", "--debug", dest="debug", help=argparse.SUPPRESS, action="store_true", default=False)
parser.add_argument("-tr", "--trace", dest="trace", help=argparse.SUPPRESS, action="store_true", default=False)
parser.add_argument("-db", "--debug", dest="debug", help="Run with Debug Logs Reporting to the Command Window", action="store_true", default=False)
parser.add_argument("-tr", "--trace", dest="trace", help="Run with extra Trace Debug Logs", action="store_true", default=False)
parser.add_argument("-c", "--config", dest="config", help="Run with desired *.yml file", type=str)
parser.add_argument("-t", "--time", "--times", dest="times", help="Times to update each day use format HH:MM (Default: 05:00) (comma-separated list)", default="05:00", type=str)
parser.add_argument("-ti", "--timeout", dest="timeout", help="PMM Global Timeout (Default: 180)", default=180, type=int)

Loading…
Cancel
Save