[73] Merge remote-tracking branch 'Yozora/nightly' into nightly

pull/1324/head
meisnate12 2 years ago
commit 5c2ac57b7b

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

@ -9,6 +9,10 @@
external_templates: external_templates:
pmm: templates pmm: templates
template_variables: template_variables:
allowed_library_types:
- <<use_<<key>>>>
- <<use_<<alt>>>>
- <<allowed_libraries>>
group: streaming group: streaming
default: default:
horizontal_align: left horizontal_align: left
@ -38,72 +42,121 @@ external_templates:
pmm: streaming/<<overlay_name>> pmm: streaming/<<overlay_name>>
templates: templates:
streaming: mdb_streaming:
allowed_library_types:
- <<allowed_streaming>>
ignore_blank_results: true ignore_blank_results: true
mdblist_list: https://mdblist.com/lists/plexmetamanager/<<key>>-<<library_type>>s mdblist_list: https://mdblist.com/lists/plexmetamanager/<<key>>-<<library_type>>s<<watch_region>>
conditionals:
allowed_streaming:
conditions:
- region.not: uk
key: [all4, britbox, hayu, now]
value: False
- region.not: ca
key: [crave]
value: False
- region: ca
key: [hbomax, showtime]
value: False
watch_region:
default: ""
conditions:
- region: ca
key: [amazon, disney, netflix]
value: "-ca"
- region: da
key: [amazon, disney, netflix]
value: "-da"
- region: de
key: [amazon, disney, netflix]
value: "-de"
- region: es
key: [amazon, disney, netflix]
value: "-es"
- region: fr
key: [amazon, disney, netflix]
value: "-fr"
- region: it
key: [amazon, disney, netflix]
value: "-it"
- region: pt-br
key: [amazon, disney, netflix]
value: "-pt-br"
- region: uk
key: [amazon, disney, netflix]
value: "-uk"
overlays: overlays:
Netflix: Netflix:
variables: {key: netflix, weight: 160} variables: {key: netflix, weight: 160}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Prime: Prime:
variables: {key: amazon, weight: 150} variables: {key: amazon, weight: 150}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Disney: Disney:
variables: {key: disney, weight: 140} variables: {key: disney, weight: 140}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
HBO-Max: HBO-Max:
variables: {key: hbomax, weight: 130} variables: {key: hbomax, weight: 130}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Crunchyroll: Crunchyroll:
variables: {key: crunchyroll, weight: 120, allowed_libraries: show} variables: {key: crunchyroll, weight: 120, allowed_libraries: show}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
YouTube: YouTube:
variables: {key: youtube, weight: 110} variables: {key: youtube, weight: 110}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Hulu: Hulu:
variables: {key: hulu, weight: 100} variables: {key: hulu, weight: 100}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Paramount: Paramount:
variables: {key: paramount, weight: 90} variables: {key: paramount, weight: 90}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
AppleTV: AppleTV:
variables: {key: appletv, weight: 80} variables: {key: appletv, weight: 80}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Peacock: Peacock:
variables: {key: peacock, weight: 70} variables: {key: peacock, weight: 70}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
Showtime: Showtime:
variables: {key: showtime, weight: 60} variables: {key: showtime, weight: 60}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
discovery+:
variables: {key: discovery, weight: 58, allowed_libraries: show}
template: [name: standard, name: mdb_streaming]
Crave:
variables: {key: crave, weight: 55}
template: [name: standard, name: mdb_streaming]
NOW: NOW:
variables: {key: now, weight: 50} variables: {key: now, weight: 50}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
All 4: All 4:
variables: {key: all4, weight: 40} variables: {key: all4, weight: 40}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
britbox: britbox:
variables: {key: britbox, weight: 30} variables: {key: britbox, weight: 30}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
BET+: BET+:
variables: {key: bet, weight: 20} variables: {key: bet, weight: 20}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]
hayu: hayu:
variables: {key: hayu, weight: 10} variables: {key: hayu, weight: 10, allowed_libraries: show}
template: [name: standard, name: streaming] template: [name: standard, name: mdb_streaming]

@ -2,8 +2,6 @@
The `universe` Default Metadata File is used to create collections based on popular Movie universes (such as the Marvel Cinematic Universe or Wizarding World). The `universe` Default Metadata File is used to create collections based on popular Movie universes (such as the Marvel Cinematic Universe or Wizarding World).
This Default file requires [Trakt Authentication](../../config/trakt)
![](../images/universe.png) ![](../images/universe.png)
## Requirements & Recommendations ## Requirements & Recommendations

@ -10,8 +10,9 @@ Supported Overlay Level: Movie, Show
## Supported Streaming Services ## Supported Streaming Services
| Streaming Service | Key | Weight | | Streaming Service | Key | Weight |
|:------------------|:--------------|:-------| |:------------------|:---------------|:-------|
| Netflix | `netflix` | `160` | | Netflix | `netflix` | `160` |
| Prime Video | `amazon` | `150` | | Prime Video | `amazon` | `150` |
| Disney+ | `disney` | `140` | | Disney+ | `disney` | `140` |
@ -23,6 +24,8 @@ Supported Overlay Level: Movie, Show
| AppleTV | `appletv` | `80` | | AppleTV | `appletv` | `80` |
| Peacock | `peacock` | `70` | | Peacock | `peacock` | `70` |
| Showtime | `showtime` | `60` | | Showtime | `showtime` | `60` |
| discovery+ | `discovery` | `58` |
| Crave | `crave` | `55` |
| NOW | `now` | `50` | | NOW | `now` | `50` |
| All 4 | `all4` | `40` | | All 4 | `all4` | `40` |
| britbox | `britbox` | `30` | | britbox | `britbox` | `30` |
@ -69,6 +72,17 @@ All [Shared Overlay Variables](../overlay_variables) are available with the defa
1. Each default overlay has a `key` that when calling to effect a specific collection you must replace `<<key>>` with when calling. 1. Each default overlay has a `key` that when calling to effect a specific collection you must replace `<<key>>` with when calling.
## Regional Variants
Some logic is applied to allow for regional streaming service lists to be available to users depending on where they are, as detailed below:
| Region | Key | Description |
|:-----------------|:---------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------|
| any besides `us` | `amazon`, `disney`, `netflix` | These collections will use regional variant lists to ensure the lists populate with what is available in the region specified |
| any besides `uk` | `all4`, `britbox`, `hayu`, `now` | These collections will not be created if the region is not `uk` as these streaming services are UK-focused |
| any besides `ca` | `crave` | These collections will not be created if the region is not `ca` as these streaming services are Canada-focused |
| `ca` | `hbomax`, `showtime` | These collections will not be created if the region is `ca` as these streaming services are part of the Crave streaming service in Canada |
The below is an example config.yml extract with some Template Variables added in to change how the file works. The below is an example config.yml extract with some Template Variables added in to change how the file works.
```yaml ```yaml
@ -77,6 +91,7 @@ libraries:
overlay_path: overlay_path:
- pmm: streaming - pmm: streaming
template_variables: template_variables:
region: ca
use_peacock: false use_peacock: false
use_youtube: false use_youtube: false
weight_youtube: 5 weight_youtube: 5

@ -1,8 +1,32 @@
# Schedule Setting # Schedule Setting
The script is designed to run continuously and certain attributes can be scheduled using these attributes. Plex Meta Manager allows you to schedule certain libraries/files so that runs can be tailored to suit your needs.
This is particularly handy for users who have a lot of libraries or run a lot of Metadata/Operations on their libraries.
The scheduling options are:
| Name | Description | Format | Example |
|:-------------|:-------------------------------------------------------------------------------------------------|:----------------------|:----------------------------------|
| Hourly | Update only when the script is run in that hour | hourly(Hour of Day) | `hourly(17)` |
| Daily | Update once a day | daily | `daily` |
| Weekly | Update once a week on the specified day | weekly(Day of Week) | `weekly(sunday)` |
| Monthly | Update once a month on the specified day | monthly(Day of Month) | `monthly(1)` |
| Yearly | Update once a year on the specified day | yearly(MM/DD) | `yearly(01/30)` |
| Range | Updates whenever the date is within the range | range(MM/DD-MM/DD) | `range(12/01-12/31)` |
| Never | Never updates | never | `never` |
| Non Existing | Updates if it doesn't exist | non_existing | `non_existing` |
| All | Requires that all comma separated scheduling options inside its brackets be meet in order to run | all[Options] | `all[weekly(sunday), hourly(17)]` |
* `daily` is the default when `schedule` is not specified.
* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](../../home/environmental.md#time-to-run).
* You can have multiple scheduling options as a list.
* You can use the `delete_not_scheduled` setting to delete Collections that are skipped due to not being scheduled.
## Examples
Below is an example of a library which has been scheduled to run every Sunday. This will schedule everything within the library (in this case Metadata files and Operations) for the same day.
Below is an example of a scheduled library:
```yaml ```yaml
libraries: libraries:
@ -18,9 +42,9 @@ libraries:
mass_critic_rating_update: tmdb mass_critic_rating_update: tmdb
``` ```
Below is an example of scheduling Metadata Files, Playlist Files, and Overlay Files: Metadata Files, Playlist Files, and Overlay Files can all be individually scheduled, as seen below where different files are scheduled to run on each day of the week:
**Note: Overlay Files cannot be individually Scheduled.** **Note: Overlay Files cannot be individually Scheduled, all Overlay Files must be scheduled for the same period.**
```yaml ```yaml
libraries: libraries:
@ -30,7 +54,7 @@ libraries:
schedule: weekly(monday) schedule: weekly(monday)
- pmm: imdb - pmm: imdb
schedule: weekly(tuesday) schedule: weekly(tuesday)
- pmm: studio - folder: config/Movies/
schedule: weekly(wednesday) schedule: weekly(wednesday)
- pmm: genre - pmm: genre
schedule: weekly(thursday) schedule: weekly(thursday)
@ -44,11 +68,9 @@ libraries:
playlist_files: playlist_files:
- file: config/Playlists.yml - file: config/Playlists.yml
schedule: weekly(sunday) schedule: weekly(sunday)
- file: config/Playlists2.yml
schedule: weekly(monday)
``` ```
Below is an example of a scheduled collection: Below is an example of a collection which has been scheduled to run on a Sunday. In this scenario, if you run PMM on a Monday, this collection will be skipped but any other collections which do not have a scheduled defined will be run.
```yaml ```yaml
collections: collections:
@ -64,7 +86,7 @@ collections:
- monthly(15) - monthly(15)
``` ```
Below is an example of a scheduled pinning collection: You can also schedule items to be "pinned" to your homescreen on a schedule. For example, this collection will be pinned to your homescreen for the month of December and on January 1st will no longer be pinned (you must run PMM on 1st January for the removal of the pin to happen)
```yaml ```yaml
collections: collections:
@ -74,21 +96,25 @@ collections:
visible_home: range(12/01-12/31) visible_home: range(12/01-12/31)
``` ```
The scheduling options are: Whilst it isn't possible to schedule individual Operations, you can create additional placeholder library names and point them to the original library using `library_name`. This can be used to achieve individually scheduled operations, as seen below:
```yaml
| Name | Description | Format | Example | libraries:
|:-------------|:-------------------------------------------------------------------------------------------------|:----------------------|:----------------------------------| Movies:
| Hourly | Update only when the script is run in that hour | hourly(Hour of Day) | `hourly(17)` | metadata_path:
| Daily | Update once a day | daily | `daily` | - file: config/Movies.yml
| Weekly | Update once a week on the specified day | weekly(Day of Week) | `weekly(sunday)` | Movies Operations (Monday): # Name doesn't matter
| Monthly | Update once a month on the specified day | monthly(Day of Month) | `monthly(1)` | library_name: Movies # Must match your library name in Plex
| Yearly | Update once a year on the specified day | yearly(MM/DD) | `yearly(01/30)` | schedule: weekly(monday)
| Range | Updates whenever the date is within the range | range(MM/DD-MM/DD) | `range(12/01-12/31)` | operations:
| Never | Never updates | never | `never` | mass_user_rating_update: imdb
| Non Existing | Updates if it doesn't exist | non_existing | `non_existing` | Movies Operations (Wednesday): # Name doesn't matter
| All | Requires that all comma separated scheduling options inside its brackets be meet in order to run | all[Options] | `all[weekly(sunday), hourly(17)]` | library_name: Movies # Must match your library name in Plex
schedule: weekly(wednesday)
* `daily` is the default when `schedule` is not specified. operations:
* You can run the script multiple times per day but using the `--time` command line argument detailed on the [Run Commands & Environmental Variables Page](../../home/environmental.md#time-to-run). mass_audience_rating_update: tmdb
* You can have multiple scheduling options as a list. Movies Operations (Friday): # Name doesn't matter
* You can use the `delete_not_scheduled` setting to delete Collections that are skipped due to not being scheduled. library_name: Movies # Must match your library name in Plex
schedule: weekly(friday)
operations:
mass_critic_rating_update: trakt
```

Loading…
Cancel
Save