From feb497956674a29caaa7cb9ad995580f7f886642 Mon Sep 17 00:00:00 2001 From: YozoraXCII <96386153+YozoraXCII@users.noreply.github.com> Date: Sat, 18 Feb 2023 23:16:15 +0000 Subject: [PATCH 1/4] Remove reference to Universe requiring Trakt Authentication --- docs/defaults/both/universe.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/defaults/both/universe.md b/docs/defaults/both/universe.md index 10b1ce0f..6deb3d7e 100644 --- a/docs/defaults/both/universe.md +++ b/docs/defaults/both/universe.md @@ -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). -This Default file requires [Trakt Authentication](../../config/trakt) - ![](../images/universe.png) ## Requirements & Recommendations From 983857a100f0638d1d3580b7e16d0696cac69cb3 Mon Sep 17 00:00:00 2001 From: YozoraXCII <96386153+YozoraXCII@users.noreply.github.com> Date: Sun, 19 Feb 2023 17:19:57 +0000 Subject: [PATCH 2/4] Update Streaming Overlay to allow for Regional variants. Add Crave and discovery overlay image. --- defaults/overlays/images/streaming/Crave.png | Bin 0 -> 4563 bytes .../overlays/images/streaming/discovery.png | Bin 0 -> 4308 bytes defaults/overlays/streaming.yml | 93 ++++++++++++++---- docs/defaults/overlays/streaming.md | 51 ++++++---- 4 files changed, 106 insertions(+), 38 deletions(-) create mode 100644 defaults/overlays/images/streaming/Crave.png create mode 100644 defaults/overlays/images/streaming/discovery.png diff --git a/defaults/overlays/images/streaming/Crave.png b/defaults/overlays/images/streaming/Crave.png new file mode 100644 index 0000000000000000000000000000000000000000..eb5d48aa517ad9142598814cc33bd7e8efbeab7d GIT binary patch literal 4563 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 B4!F z#I>^TOIIA*-?5{{>!G;niBMLJG&zZ)l_xiQX^!jd%M*_3NVOPsQ=L5sAK-o_u)Co( zk=&>D*Cw~zi5*AW4Rd-H^eoSEmTtrpo7Uax65M}?H~f5B)402)2V(JO$<*V}#9&_@ z!blZ%MSt;`aO_XnTs-283wPE1euU4ykP7Iy#q5ps_fnM7>%Q%6r+3h6B=+ZSo$5aK zCQab`HES$Xu8cj_=?Drf#Z{iv?(SI(LV@4Xx7J+H79jVk?Jqx*+b8vU7+G)cV*N_0 z_OiC|np9;hIyEDI!~XRbIZm$ba8NDbMU@*~FLtYI)9tY!Ii2VDcDVIzKqs1i(LRMT z$eFb1koMB^oG$a;vlxx@aL*+rj&0;hVLipuJ+AJ+{CgtJ);_yNC_xf7Q#>t*je?{)-@j7pE z-kh*ky&616aJzx>+i-3hy)@74aE`TkHxw(rs_-@>UhhHPEly?$v2N^T=)y!CX*nZS zeP{5B@~V21S=;ISr_jbKRPhM)rDDe_0Q<4PaPQr|Vl60iKjC|!dWba{S2ya6yWsKo z8KKiEFwGlYBNG0(MA^5wD=o%8Fh(N#yV-kxyBqhI-Ca#cp~XFTUjE1< z8hw((*ESrUg7-C=9XZTR&ezGyQmFACSUsmhODOuLj(PsfdF(Pt=K5`gH);u0`JFO4 zH63kFPnZ!hKFdB$|F8<~Zybl}_%pNl3lb{lE;_+c&&I^bsy~1S%Cx@F4)+XUNH?SO zPPZOZeH8cFjo;Pf1Woj~?BA@w`y3&X+^R}zUf;?7h=2D+V-$1kxm@p*j%r!FP7=c) zKm!SBzSiCdQEA{oT~cw#+%+Jmz*;&_6je0Zq`mi0%SuAeI3agt#-)?{Xo2MUli zoJ3XfZgL|P_nr+Cm@ET<-JZXx8`iE-|yqX(B=9;WLl^P`gj{6Qf$3*!AR4(BX)*~ouS zPUypY$CZMrw8KAWvrrdvyjeMzB=HTzsV}1Q=klB@*KbRY7K`7Q5-(m9kq&7{>RjDj zOfP@&vC<&$cwG@$9{bJOA!w`oh|?Kc<;%CWG(+F}nkop+s=7P8O>f0|mwm-;&(gS3 zJQH$41+lBav(2_wtU4NyBV8-L{ zewOPlJ-#9+Veo~49^a(G#=Mp`-y#K0@u{>+S3BdRpWX9y^9xn_CGQ67t%Sqy(Sf6T zyT+DJ0KWKC@Qaq_PJsermL;D13z*bV`)#J` zsX&XW0DOn({&W{>B>lU%AEpuCTC&wr-tctd+(vLlL!2eJQPCZXQHAFD>JR!&Nmm?V zG1!GJ1m}!GWN6OOYF_CGl2G};X`i(^#9f>Fm6}oh5s8b!#c|X=zd^-uy72E9VtJ|L z_bZuSm0QL^X(@554{=7zx{M#5(_Y!@u0fAyHZI=je{OpP{-WFCFe=Jou&Z=Y?fw;G z-gGbN?%o^@?Z8pqmrfAus|ZN^)W=(2vd8ubV2VFxITjt!N`Wlzq_`zKq0%h1v;Jue~TC;RrA4qNV}*gjl)g6Ix(h`0A7~ zDZqQ}Tl5>P4-H#5I^O1?bFp1);v?{gjhg0YtBCIbxf(PRMCdw>>> + - <>>> + - <> group: streaming default: horizontal_align: left @@ -35,75 +39,124 @@ external_templates: back_color: "#00000099" back_width: 305 back_height: 105 - pmm: streaming/<> + file: config/streaming/<>.png templates: - streaming: + mdb_streaming: + allowed_library_types: + - <> ignore_blank_results: true - mdblist_list: https://mdblist.com/lists/plexmetamanager/<>-<>s + mdblist_list: https://mdblist.com/lists/plexmetamanager/<>-<>s<> + 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: Netflix: variables: {key: netflix, weight: 160} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Prime: variables: {key: amazon, weight: 150} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Disney: variables: {key: disney, weight: 140} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] HBO-Max: variables: {key: hbomax, weight: 130} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Crunchyroll: variables: {key: crunchyroll, weight: 120, allowed_libraries: show} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] YouTube: variables: {key: youtube, weight: 110} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Hulu: variables: {key: hulu, weight: 100} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Paramount: variables: {key: paramount, weight: 90} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] AppleTV: variables: {key: appletv, weight: 80} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Peacock: variables: {key: peacock, weight: 70} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] Showtime: 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: variables: {key: now, weight: 50} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] All 4: variables: {key: all4, weight: 40} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] britbox: variables: {key: britbox, weight: 30} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] BET+: variables: {key: bet, weight: 20} - template: [name: standard, name: streaming] + template: [name: standard, name: mdb_streaming] hayu: - variables: {key: hayu, weight: 10} - template: [name: standard, name: streaming] + variables: {key: hayu, weight: 10, allowed_libraries: show} + template: [name: standard, name: mdb_streaming] \ No newline at end of file diff --git a/docs/defaults/overlays/streaming.md b/docs/defaults/overlays/streaming.md index 3bb5f505..5c89e172 100644 --- a/docs/defaults/overlays/streaming.md +++ b/docs/defaults/overlays/streaming.md @@ -10,24 +10,27 @@ Supported Overlay Level: Movie, Show ## Supported Streaming Services -| Streaming Service | Key | Weight | -|:------------------|:--------------|:-------| -| Netflix | `netflix` | `160` | -| Prime Video | `amazon` | `150` | -| Disney+ | `disney` | `140` | -| HBO Max | `hbomax` | `130` | -| Crunchyroll | `Crunchyroll` | `120` | -| YouTube | `youtube` | `110` | -| Hulu | `hulu` | `100` | -| Paramount+ | `paramount` | `90` | -| AppleTV | `appletv` | `80` | -| Peacock | `peacock` | `70` | -| Showtime | `showtime` | `60` | -| NOW | `now` | `50` | -| All 4 | `all4` | `40` | -| britbox | `britbox` | `30` | -| BET+ | `bet` | `20` | -| hayu | `hayu` | `10` | + +| Streaming Service | Key | Weight | +|:------------------|:---------------|:-------| +| Netflix | `netflix` | `160` | +| Prime Video | `amazon` | `150` | +| Disney+ | `disney` | `140` | +| HBO Max | `hbomax` | `130` | +| Crunchyroll | `Crunchyroll` | `120` | +| YouTube | `youtube` | `110` | +| Hulu | `hulu` | `100` | +| Paramount+ | `paramount` | `90` | +| AppleTV | `appletv` | `80` | +| Peacock | `peacock` | `70` | +| Showtime | `showtime` | `60` | +| discovery+ | `discovery` | `58` | +| Crave | `crave` | `55` | +| NOW | `now` | `50` | +| All 4 | `all4` | `40` | +| britbox | `britbox` | `30` | +| BET+ | `bet` | `20` | +| hayu | `hayu` | `10` | ## Config @@ -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 `<>` 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. ```yaml @@ -77,6 +91,7 @@ libraries: overlay_path: - pmm: streaming template_variables: + region: ca use_peacock: false use_youtube: false weight_youtube: 5 From 3c32c8e6c292819753d1eb07b1bd550d8546d3a4 Mon Sep 17 00:00:00 2001 From: YozoraXCII <96386153+YozoraXCII@users.noreply.github.com> Date: Sun, 19 Feb 2023 20:23:14 +0000 Subject: [PATCH 3/4] Fix streaming image location --- defaults/overlays/streaming.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/defaults/overlays/streaming.yml b/defaults/overlays/streaming.yml index 31f1c0e0..8348c0b1 100644 --- a/defaults/overlays/streaming.yml +++ b/defaults/overlays/streaming.yml @@ -39,7 +39,7 @@ external_templates: back_color: "#00000099" back_width: 305 back_height: 105 - file: config/streaming/<>.png + pmm: streaming/<> templates: mdb_streaming: From 06431d7afe6572465cac66b7d66b48c67aacb211 Mon Sep 17 00:00:00 2001 From: YozoraXCII <96386153+YozoraXCII@users.noreply.github.com> Date: Sun, 19 Feb 2023 21:21:32 +0000 Subject: [PATCH 4/4] Update Schedule examples --- docs/metadata/details/schedule.md | 80 ++++++++++++++++++++----------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/docs/metadata/details/schedule.md b/docs/metadata/details/schedule.md index 417a1618..c0dade2f 100644 --- a/docs/metadata/details/schedule.md +++ b/docs/metadata/details/schedule.md @@ -1,8 +1,32 @@ # 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 libraries: @@ -18,9 +42,9 @@ libraries: 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 libraries: @@ -30,7 +54,7 @@ libraries: schedule: weekly(monday) - pmm: imdb schedule: weekly(tuesday) - - pmm: studio + - folder: config/Movies/ schedule: weekly(wednesday) - pmm: genre schedule: weekly(thursday) @@ -44,11 +68,9 @@ libraries: playlist_files: - file: config/Playlists.yml 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 collections: @@ -64,7 +86,7 @@ collections: - 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 collections: @@ -74,21 +96,25 @@ collections: visible_home: range(12/01-12/31) ``` -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. +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 +libraries: + Movies: + metadata_path: + - file: config/Movies.yml + Movies Operations (Monday): # Name doesn't matter + library_name: Movies # Must match your library name in Plex + schedule: weekly(monday) + operations: + mass_user_rating_update: imdb + Movies Operations (Wednesday): # Name doesn't matter + library_name: Movies # Must match your library name in Plex + schedule: weekly(wednesday) + operations: + mass_audience_rating_update: tmdb + Movies Operations (Friday): # Name doesn't matter + library_name: Movies # Must match your library name in Plex + schedule: weekly(friday) + operations: + mass_critic_rating_update: trakt +```