Extra: Holiday Movie Collections

By Drazzizzi

The method described here has been replaced in PMM by its built-in "Seasonal" collections.

You can accomplish the same thing as is described below in PMM with a single line in your config.yml file:

libraries:
  Movies:
    metadata_path:
    - pmm: seasonal

That -pmm: seasonal line will create a set of holiday collections that will appear and disappear at appropriate times. The full list of holiday collections and available customizations are described here.

Remainder of page is obsolete and left for historical reference. DEPRECATED METHOD FOLLOWS

This page shows you how to set up holiday collections that automatically appear on Plex for relevant holidays, and then disappear after the holiday period, using Plex Meta Manager and PlexAPI. Special thanks to Puptentjoe on reddit for this idea.

You'll configure these holiday collections through Plex Meta Manager, similarly to how you've created your other collections. However, you'll use PMM's scheduling features to make it so that each of these collections are only generated during a single period of the year (around the associated holiday itself). For example, if you want to have a holiday collection for Valentine's Day (February 14th), you can schedule it to run between February 1st and 14th, and then the collection will be removed on the 15th.

Below is a sample YAML file for PMM with a few holiday collections, along with explanations further below the YAML; you'll add this YAML in your config.yml as a metadata file for your Movies library. Feel free to add your own lists and holidays to it.

Note that if you use this YAML, you may need to adjust the schedule for the Thanksgiving collection, as this one pertains to the Canadian Thanksgiving date.

templates:
#####################################
#    Custom Collection Templates    #
#####################################
  Holiday:
    smart_label: title.asc
    summary: "A timed collection of <<holiday>> movies and other movies that may relate to the holiday. NOTE: this collection will automatically disappear once the holiday period is over."
    delete_not_scheduled: true
    sort_title: '!AA'
    run_again: true
    visible_home: true
    visible_shared: true
    sync_mode: sync

collections:
#####################################
#        Holiday Collections        #
#####################################
  Valentine's Day Movies:
    schedule: range(02/01-02/14)
    template: {name: Holiday, holiday: "Valentine's Day"}
    imdb_list:
      - https://www.imdb.com/list/ls000094398/
      - https://www.imdb.com/list/ls057783436/
      - https://www.imdb.com/list/ls064427905/

  St. Patrick's Day Movies:
    schedule: range(03/01-03/17)
    template: {name: Holiday, holiday: "St. Patrick's Day"}
    imdb_list: https://www.imdb.com/list/ls063934595/

  Thanksgiving Movies:
    schedule: range(10/01-10/14)
    sort_title: '!AA'
    template: {name: Holiday, holiday: Thanksgiving}
    imdb_list: 
      - https://www.imdb.com/list/ls000835734/
      - https://www.imdb.com/list/ls091597850/

  Halloween Movies:
    schedule: range(10/01-10/31)
    sort_title: '!AB'
    template: {name: Holiday, holiday: Halloween}
    imdb_list:
      - https://www.imdb.com/list/ls023118929/
      - https://www.imdb.com/list/ls000099714/
      - https://www.imdb.com/list/ls000058693/
      - https://www.imdb.com/search/title/?genres=horror&keywords=haunted-house&sort=moviemeter,asc
    tmdb_collection:
      - 91361    # Halloween Collection
      - 8581     # A Nightmare on Elm Street Collection
      - 1733     # The Mummy Collection
      - 8091     # Alien Collection
    tmdb_movie:
      - 23437    # A Nightmare on Elm Street (2010)

  Christmas Movies:
    schedule: range(12/01-12/31)
    sort_title: '!AB'
    template: {name: Holiday, holiday: Christmas}
    imdb_list: 
      - https://www.imdb.com/list/ls000096828/
      - https://www.imdb.com/list/ls097394442/
      - https://www.imdb.com/list/ls068976997/
      - https://www.imdb.com/list/ls027567380/
    collection_order: release

  New Year's Eve Movies:
    schedule: range(12/26-01/05)
    sort_title: '!AA'
    template: {name: Holiday, holiday: "New Year's Eve"}
    imdb_list: https://www.imdb.com/list/ls066838460/

In the YAML above, note how each individual collection has a schedule field with a range in it, formatted as range(MM/DD-MM/DD); the range marks the start and end dates of the period (throughout each year) when you want the collection to become available.

In addition to that, notice how a collection template is used at the beginning of the YAML to avoid having to redundantly set a summary, sort title, and the same attributes for each individual collection. That sort title was chosen to make these collections always appear at the top of your collections page in Plex. The visible_home and visible_shared fields tell Plex to show these collections on both yours and your users' Plex home screens as dedicated rows. The last thing that makes this all work is the delete_not_scheduled field in the collection template, which tells PMM to delete each holiday collection whenever it's not scheduled to run (i.e. when the current date is outside of the period defined in the collection's schedule field).

Optional note about sort title logic and overlapping holiday collections: the Thanksgiving and Halloween collections are both configured to be generated on the same day; therefore, as Thanksgiving comes before Halloween in Canada, the Halloween collection has its own sort_title field that will place it just after the Thanksgiving collection. It's a similar situation with Christmas Movies and New Year's Eve Movies; there's an overlapping period where they will both be visible at the same time; however, the New Year's Eve Movies collection isn't scheduled to be generated until after Christmas, at which point it'll be more relevant than the Christmas Movies collection. Therefore, the Christmas Movies collection has a custom sort_title field to give it a slightly lower priority so that it'll be placed after the New Year's Eve Movies collection when it eventually gets created by PMM. The end result of this is that from December 1st until December 26th (the day after Christmas), the Christmas Movies collection will be at the top of your collections page in Plex. Once the New Year's Eve Movies collection is generated, it'll be placed before the Christmas Movies collection.

Voilà! You've now set up collections for different holidays of the year, where the collections will automatically be created and will show up on your home screen and your users' home screens on Plex some time before each associated holiday, and will then automatically disappear once the holiday is over. It'll help to give your Plex home screens a more dynamic touch!

Last updated