- Fix, clarify visibility scheduling for holiday and award collections

This commit is contained in:
nharris 2022-11-04 12:45:53 -06:00
parent 07b52b1709
commit bb2e9fe42d
3 changed files with 100 additions and 68 deletions

View File

@ -63,7 +63,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++++++" } level: "++++++" }
summary: "Who will take home the trophy?" summary: "Who will take home the trophy?"
schedule: never schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -74,7 +74,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "+++++" } level: "+++++" }
summary: "Who will take home the trophy?" summary: "Who will take home the trophy?"
schedule: never schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -85,7 +85,7 @@ collections:
template: { name: Holiday, template: { name: Holiday,
level: "+++++" } level: "+++++" }
summary: "Who will take home the trophy?" summary: "Who will take home the trophy?"
schedule: never schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -98,7 +98,7 @@ collections:
trakt_list: trakt_list:
# TODO: NEED TO REPLACE MANUALLY # TODO: NEED TO REPLACE MANUALLY
- https://trakt.tv/users/jcbwoldseth/lists/oscar-race-2022 - https://trakt.tv/users/jcbwoldseth/lists/oscar-race-2022
schedule: yearly(02/20) schedule: yearly(02/01), yearly(02/20), yearly(04/01) # You have to schedule it to run again after visibility timeframe for visibility to switch back
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -111,7 +111,7 @@ collections:
level: "++" } level: "++" }
imdb_list: imdb_list:
- https://www.imdb.com/search/title/?title_type=feature,documentary&groups=oscar_winner - https://www.imdb.com/search/title/?title_type=feature,documentary&groups=oscar_winner
schedule: yearly(03/28) schedule: yearly(02/01), yearly(03/28), yearly(04/01) # You have to schedule it to run again after visibility timeframe for visibility to switch back
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -122,7 +122,7 @@ collections:
level: "++" } level: "++" }
imdb_list: imdb_list:
- https://www.imdb.com/search/title/?groups=best_director_winners&sort=year%2Cdesc - https://www.imdb.com/search/title/?groups=best_director_winners&sort=year%2Cdesc
schedule: yearly(04/01), yearly(01/01) # in case list wasn't updated in April, check again in January next year schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
summary: The Academy Award for Best Director is one of the Academy Awards presented annually by the Academy of Motion Picture Arts and Sciences since the awards debuted in 1929. summary: The Academy Award for Best Director is one of the Academy Awards presented annually by the Academy of Motion Picture Arts and Sciences since the awards debuted in 1929.
@ -135,7 +135,7 @@ collections:
level: "++" } level: "++" }
imdb_list: imdb_list:
- https://www.imdb.com/search/title/?groups=best_picture_winners&sort=year%2Cdesc - https://www.imdb.com/search/title/?groups=best_picture_winners&sort=year%2Cdesc
schedule: yearly(04/01), yearly(01/01) # in case list wasn't updated in April, check again in January next year schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
summary: The Academy Award for Best Picture is one of the Academy Awards presented annually by the Academy of Motion Picture Arts and Sciences since the awards debuted in 1929. summary: The Academy Award for Best Picture is one of the Academy Awards presented annually by the Academy of Motion Picture Arts and Sciences since the awards debuted in 1929.
@ -148,7 +148,7 @@ collections:
level: "++" } level: "++" }
summary: "Previous Razzie Worst Picture winners" summary: "Previous Razzie Worst Picture winners"
mdblist_list: https://mdblist.com/lists/hdlists/razzie-awards-worst-picture-winners mdblist_list: https://mdblist.com/lists/hdlists/razzie-awards-worst-picture-winners
schedule: yearly(04/01), yearly(01/01) # in case list wasn't updated in April, check again in January next year schedule: yearly(02/01), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/01-03/31) visible_home: range(02/01-03/31)
visible_shared: range(02/01-03/31) visible_shared: range(02/01-03/31)
@ -159,7 +159,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++" } level: "++" }
trakt_list: https://trakt.tv/users/sp1ti/lists/cannes-palme-d-or-winners trakt_list: https://trakt.tv/users/sp1ti/lists/cannes-palme-d-or-winners
schedule: yearly(06/01) schedule: yearly(06/01), yearly(07/01) # You have to schedule it to run again after visibility timeframe for visibility to switch back
visible_home: range(06/01-06/30) visible_home: range(06/01-06/30)
visible_shared: range(06/01-06/30) visible_shared: range(06/01-06/30)
@ -170,7 +170,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++" } level: "++" }
trakt_list: https://trakt.tv/users/fauxliege/lists/cesar-meilleur-film trakt_list: https://trakt.tv/users/fauxliege/lists/cesar-meilleur-film
schedule: yearly(03/14) schedule: yearly(03/14), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(03/14-03/31) visible_home: range(03/14-03/31)
visible_shared: range(03/14-03/31) visible_shared: range(03/14-03/31)
@ -181,7 +181,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++" } level: "++" }
trakt_list: https://trakt.tv/users/maxwelldeux/lists/berlin-international-film-festival-golden-bears trakt_list: https://trakt.tv/users/maxwelldeux/lists/berlin-international-film-festival-golden-bears
schedule: yearly(02/21) schedule: yearly(02/21), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/21-03/31) visible_home: range(02/21-03/31)
visible_shared: range(02/21-03/31) visible_shared: range(02/21-03/31)
@ -192,7 +192,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++" } level: "++" }
trakt_list: https://trakt.tv/users/maxwelldeux/lists/bafta-award-best-film trakt_list: https://trakt.tv/users/maxwelldeux/lists/bafta-award-best-film
schedule: yearly(02/21) schedule: yearly(02/21), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/21-03/31) visible_home: range(02/21-03/31)
visible_shared: range(02/21-03/31) visible_shared: range(02/21-03/31)
@ -203,7 +203,7 @@ collections:
template: { name: Award, template: { name: Award,
level: "++" } level: "++" }
trakt_list: https://trakt.tv/users/maxwelldeux/lists/venice-film-festival-golden-lion trakt_list: https://trakt.tv/users/maxwelldeux/lists/venice-film-festival-golden-lion
schedule: yearly(02/21) schedule: yearly(02/21), yearly(04/01) # You have to schedule it to run before and after visibility timeframe for visibility to switch
visible_home: range(02/21-03/31) visible_home: range(02/21-03/31)
visible_shared: range(02/21-03/31) visible_shared: range(02/21-03/31)

View File

@ -321,9 +321,9 @@ collections:
# - https://trakt.tv/users/jayinftl/lists/halloween # - https://trakt.tv/users/jayinftl/lists/halloween
# - https://trakt.tv/users/roswellgeek/lists/halloween # - https://trakt.tv/users/roswellgeek/lists/halloween
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(09/30-10/31) schedule: range(09/30-11/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(09/30-10/31) visible_home: range(09/30-10/31)
visible_shared: range(10/01-10/31) visible_shared: range(09/30-10/31)
# TODO: Replace for 2023 # TODO: Replace for 2023
"31 Days of Horror": "31 Days of Horror":
@ -333,7 +333,7 @@ collections:
trakt_list: trakt_list:
- https://trakt.tv/users/lish408/lists/31-days-of-horror-2022 - https://trakt.tv/users/lish408/lists/31-days-of-horror-2022
collection_order: custom collection_order: custom
schedule: range(09/30-10/31) schedule: range(09/30-11/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(09/30-10/31) visible_home: range(09/30-10/31)
visible_shared: range(09/30-10/31) visible_shared: range(09/30-10/31)
@ -344,10 +344,11 @@ collections:
trakt_list: trakt_list:
- https://trakt.tv/users/hdlists/lists/halloween-movies-for-kids - https://trakt.tv/users/hdlists/lists/halloween-movies-for-kids
collection_order: custom collection_order: custom
schedule: range(09/30-10/31) schedule: range(09/30-11/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(09/30-10/31) visible_home: range(09/30-10/31)
visible_shared: range(09/30-10/31) visible_shared: range(09/30-10/31)
"He's Right Behind You!": "He's Right Behind You!":
template: { name: Holiday, template: { name: Holiday,
level: "++" } level: "++" }
@ -355,7 +356,7 @@ collections:
trakt_list: trakt_list:
- https://trakt.tv/users/hdlists/lists/80s-slasher-movies - https://trakt.tv/users/hdlists/lists/80s-slasher-movies
collection_order: custom collection_order: custom
schedule: range(09/30-10/31) schedule: range(09/30-11/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(09/30-10/31) visible_home: range(09/30-10/31)
visible_shared: range(09/30-10/31) visible_shared: range(09/30-10/31)
@ -369,9 +370,9 @@ collections:
- https://trakt.tv/users/retrogran/lists/thanksgiving-season-movies - https://trakt.tv/users/retrogran/lists/thanksgiving-season-movies
- https://trakt.tv/users/padawan_seneca/lists/vibe-autumn-tv-series-movies - https://trakt.tv/users/padawan_seneca/lists/vibe-autumn-tv-series-movies
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(11/01-11/28) schedule: range(11/01-12/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(11/01-11/28) visible_home: range(11/01-11/30)
visible_shared: range(11/01-11/28) visible_shared: range(11/01-11/30)
"This is Christmas": "This is Christmas":
template: { name: Holiday, template: { name: Holiday,
@ -382,7 +383,7 @@ collections:
- https://trakt.tv/users/questdvd/lists/absolute-hayes-christmas-classics - https://trakt.tv/users/questdvd/lists/absolute-hayes-christmas-classics
- https://trakt.tv/users/littlestella3/lists/christmas - https://trakt.tv/users/littlestella3/lists/christmas
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(11/29-12/31) schedule: range(11/29-01/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(11/29-12/31) visible_home: range(11/29-12/31)
visible_shared: range(11/29-12/31) visible_shared: range(11/29-12/31)
@ -393,7 +394,7 @@ collections:
trakt_list: trakt_list:
- https://trakt.tv/users/mzdiobolik/lists/hallmark-christmas-movies - https://trakt.tv/users/mzdiobolik/lists/hallmark-christmas-movies
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(11/29-12/31) schedule: range(11/29-01/01) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(11/29-12/31) visible_home: range(11/29-12/31)
visible_shared: range(11/29-12/31) visible_shared: range(11/29-12/31)
@ -406,7 +407,7 @@ collections:
- https://trakt.tv/users/barsaky/lists/den-svateho-valentina-valentine-s-day - https://trakt.tv/users/barsaky/lists/den-svateho-valentina-valentine-s-day
- https://trakt.tv/users/abbelea/lists/movies-best-of-love - https://trakt.tv/users/abbelea/lists/movies-best-of-love
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(02/01-02/15) schedule: range(02/01-02/16) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(02/01-02/15) visible_home: range(02/01-02/15)
visible_shared: range(02/01-02/15) visible_shared: range(02/01-02/15)
@ -418,7 +419,7 @@ collections:
- https://trakt.tv/users/triadcool/lists/irish - https://trakt.tv/users/triadcool/lists/irish
- https://trakt.tv/users/sympli/lists/st-patricks-day-movies - https://trakt.tv/users/sympli/lists/st-patricks-day-movies
collection_order: audience_rating.desc collection_order: audience_rating.desc
schedule: range(03/10-03/18) schedule: range(03/10-03/19) # You have to schedule it one day longer so it will run and change visibility
visible_home: range(03/10-03/18) visible_home: range(03/10-03/18)
visible_shared: range(03/10-03/18) visible_shared: range(03/10-03/18)

View File

@ -1,9 +1,11 @@
## Promotion ## Promotion
- Use sort_title to promote and demote certain collections
- start with `+` to promote to top of library - Use sort_title to promote and demote certain collections
- start with `~` to demote to bottom of a library - start with `+` to promote to top of library
- start with `~` to demote to bottom of a library
Prefix suggestions: Prefix suggestions:
``` ```
# Prefixes for (Movie) Collections: # Prefixes for (Movie) Collections:
# +01_ = Charts # +01_ = Charts
@ -19,77 +21,106 @@ Prefix suggestions:
``` ```
## Visibility ## Visibility
- `visible_library`, `visible_home` and `visible_shared` - `visible_library`, `visible_home` and `visible_shared`
- `true`, `false` or [schedule](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) available for all options - `true`, `false` or [schedule](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Schedule-Detail) available for
all options
- Visibility does not dictate when a playlist/collection is updated:
- When setting visibility to a certain time-frame, make sure the playlist/collection itself is scheduled to update
at
least one day longer than the visibility time-frame. Otherwise, the playlist/collection will not update again and
the
visibility will not change.
- Example: Halloween collection, `visible_shared: (10/01-10/31)`, `schedule: (10/01-11/01)`
- You also need to schedule the playlist to update on the first day of visibility. Otherwise, the playlist will not
update and the visibility will not change.
- If you can spare the processing, the best thing to do would be to have the playlist/collection update every day,
so you don't have to worry about specifically updating it to trigger visibility changes.
## Scheduling ## Scheduling
- Save time by updating lesser-important collections and playlists less frequently: - Save time by updating lesser-important collections and playlists less frequently:
- ex. `schedule: weekly(wednesday), weekly(sunday)` - ex. `schedule: weekly(wednesday), weekly(sunday)`
- Don't need to schedule a `smart_filter` because Plex auto-updates the list itself - Don't need to schedule a `smart_filter` because Plex auto-updates the list itself
## Sorting ## Sorting
- https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#sort-options - https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#sort-options
- If a collection is made of multiple lists, can't use `custom` - If a collection is made of multiple lists, can't use `custom`
- Recommend sorting instead by `popularity.desc` - Recommend sorting instead by `popularity.desc`
- Can't use `collection_order` for Plex `smart_filter` rules. Replacements: - Can't use `collection_order` for Plex `smart_filter` rules. Replacements:
- `collection_order: release` -> `sort_by: release.desc` - `collection_order: release` -> `sort_by: release.desc`
- `collection_order: alpha` -> `sort_by: title.desc` - `collection_order: alpha` -> `sort_by: title.desc`
- `collection_order: custom` -> `sort_by: ??` - `collection_order: custom` -> `sort_by: ??`
- Needs to be one level above `all`/`any` criteria list. Ex.: - Needs to be one level above `all`/`any` criteria list. Ex.:
- `smart_filter`: - `smart_filter`:
- sort_by: `release.desc` - sort_by: `release.desc`
- any: - any:
- criteria1 - criteria1
- criteria2 - criteria2
- Collections display on home screen in order of creation - Collections display on home screen in order of creation
- Recommend having library-specific collections loaded first in config before general collections - Recommend having library-specific collections loaded first in config before general collections
## Filters ## Filters
- Type restrictions
- Plex `smart_filter`/`plex_search`: Use, i.e. `type: episodes`, to limit collection to [specific type](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#special-attributes) - Type restrictions
- Needs to be one level above `all`/`any` criteria list. Ex.: - Plex `smart_filter`/`plex_search`: Use, i.e. `type: episodes`, to limit collection
- `smart_filter`: to [specific type](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Plex-Builders#special-attributes)
- type: `episodes` - Needs to be one level above `all`/`any` criteria list. Ex.:
- any: - `smart_filter`:
- criteria1 - type: `episodes`
- criteria2 - any:
- All other rules: Use, i.e., `collection_level: episodes`, to limit collection to [specific type](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Metadata-Details#metadata-details) - criteria1
- criteria2
- All other rules: Use, i.e., `collection_level: episodes`, to limit collection
to [specific type](https://github.com/meisnate12/Plex-Meta-Manager/wiki/Metadata-Details#metadata-details)
## Templates ## Templates
- As of v1.16.4, you can define templates in an external file. This allows you to define your templates in one central place, rather than having to copy-paste them into each file.
- Import your templates with the `external_templates` key - As of v1.16.4, you can define templates in an external file. This allows you to define your templates in one central
place, rather than having to copy-paste them into each file.
- Import your templates with the `external_templates` key
## Collection vs Playlist ## Collection vs Playlist
- A collection is an unordered group of content from the same Library (Movies, TV Shows, 4K Movies, etc.) - A collection is an unordered group of content from the same Library (Movies, TV Shows, 4K Movies, etc.)
- Collection configs exist inside metadata configs - Collection configs exist inside metadata configs
- For each Plex library, define a list of "metadata_path" config files - For each Plex library, define a list of "metadata_path" config files
- You can technically group multiple Plex libraries into one "metadata" section, but it's not recommended (too confusing) - You can technically group multiple Plex libraries into one "metadata" section, but it's not recommended (too
confusing)
- A playlist is an ordered list of content of the same type (all movies, all shows, all music, etc.) - A playlist is an ordered list of content of the same type (all movies, all shows, all music, etc.)
- Import a list of "playlist" config files. A "show" playlist file will execute on all shows (and only on shows) - Import a list of "playlist" config files. A "show" playlist file will execute on all shows (and only on shows)
## Overlays ## Overlays
- You can add custom overlay configurations for specific Plex libraries
- Similar to collection/metadata, define a list of "overlay_path" config files for each Plex library
- You can add custom overlay configurations for specific Plex libraries
- Similar to collection/metadata, define a list of "overlay_path" config files for each Plex library
## Collections Import Flow ## Collections Import Flow
1. We define a "Movies" section under "libraries" in the `config.yml` file. (The name "Movies" is purely descriptive and doesn't have to match the name of the Plex library)
1. We define a "Movies" section under "libraries" in the `config.yml` file. (The name "Movies" is purely descriptive and
doesn't have to match the name of the Plex library)
2. In the "Movies" section, we define: 2. In the "Movies" section, we define:
- the "library_name" as "Movies" (this is the name of the Plex library, this does matter) - the "library_name" as "Movies" (this is the name of the Plex library, this does matter)
- the "metadata_path" list of metadata config files. These can come from local files/folders, the Configs repo, or a custom repo. - the "metadata_path" list of metadata config files. These can come from local files/folders, the Configs repo, or a
- In our case, all our config files come from a custom repo. custom repo.
- In our case, all our config files come from a custom repo.
3. Each metadata config file is parsed and executed 3. Each metadata config file is parsed and executed
- Each config file imports templates from another file (from the custom repo) via the `external_templates` key - Each config file imports templates from another file (from the custom repo) via the `external_templates` key
- The main template file imports templates from the Configs repo via the `external_templates` key - The main template file imports templates from the Configs repo via the `external_templates` key
- This means that every metadata config file has access to all templates (user-defined and Configs repo-defined) - This means that every metadata config file has access to all templates (user-defined and Configs repo-defined)
- Each config entry is parsed and executed (if needed), using items from the "Movies" library. - Each config entry is parsed and executed (if needed), using items from the "Movies" library.
## Collections vs Dynamic Collections ## Collections vs Dynamic Collections
- Let's say I wanted to make a collection of each actor's movies. - Let's say I wanted to make a collection of each actor's movies.
- Thankfully, with templates, we don't have to manually define every single setting/parameter for each actor's collection. - Thankfully, with templates, we don't have to manually define every single setting/parameter for each actor's
- I can make an "actor" template, and then define an "Adam Sandler", "Mike Myers" or "Justin Timberlake" collection and have it reuse the settings from the "actor" template. collection.
- I can make an "actor" template, and then define an "Adam Sandler", "Mike Myers" or "Justin Timberlake" collection and
have it reuse the settings from the "actor" template.
- The problem is, I still need to manually define a collection for each actor. That's where dynamic collections come in. - The problem is, I still need to manually define a collection for each actor. That's where dynamic collections come in.
- A dynamic collection is useful when you don't know the input data (when we don't know what actors to define) - A dynamic collection is useful when you don't know the input data (when we don't know what actors to define)
- A dynamic collection will execute a query (say, grab a list of the top 10 actors right now), and then for each result, make a collection using the "actor" template. - A dynamic collection will execute a query (say, grab a list of the top 10 actors right now), and then for each result,
make a collection using the "actor" template.
- Schedule a dynamic collection (visibility, update frequency, etc.) via the template - Schedule a dynamic collection (visibility, update frequency, etc.) via the template