Kometa-Team/Kometa

User specific "Unwatched" Plex smart collections are not created if Admin account has watched everything.

OttoWerse opened this issue · 5 comments

Version Number

1.20.0

What branch are you on?

master

Describe the Bug

I am using PMM to create smart Plex collections that are supposed to contain all unwatched Episodes of multiple shows based on the shows being in another (Plex dumb) collection. These smart collections are set up with collection_filtering: user, so they show unwatched episodes for the currently viewing user, not the Admin account. This has been working quite well so far.

However, some of the collections never get created, since the Admin account has already watched every Episode that would go into that collection. The log states Collection Minimum: 1 not met for New DeV Videos Collection.

I have looked at the documentation and found the minimum_items attribute, which should be the solution. But that requires an integer greater than 1 to work. Setting it to "0" does nothing, sadly.

In my opinion, this attribute should accept a "0" value, at least in the context of a "smart" collection with collection_filtering: user. But also in general, I see no reason to disallow creation of empty smart collections by PMM, since they are dynamic and would populate automatically even without running PMM again.
Otherwise there needs to be a change to how PMM evaluates the amount of items appearing inside smart collections using collection_filtering: user to take other user accounts into consideration, if the Admin accounts watch history would lead to an empty collection.

Current workarounds:

  • Never use the Admin account for actual media consumption (not feasible, too much history migration needed)
  • Mark one Episode as unwatched on the Admin account, run PMM, mark it as watched again (using default setting delete_below_minimum: false)

Relevant Collection/Overlay/Playlist Definition

### File: config.yml ###
libraries:
  YouTube:
    minimum_items: 0
    collection_files:
    - file: config/youtube.yml

### File: config/youtube.yml ###
templates:
  New Videos: 
    sort_title: <<channel>> New
    collection_filtering: user
    builder_level: episode
    collection_mode: show_items
    smart_filter:
      sort_by: release.desc
      all:
        episode_unplayed: true
        collection: <<channel>>
# Static collection using Regex as filter
  DeV:
    summary: DeV
    plex_all: true
    filters:
      folder.regex: Dev.*
# Dynamic / smart collection using static collection as filter     
  New DeV Videos:
    summary: New DeV Videos
    template:
      name: New Videos
      channel: DeV

Logs

No response

This may be a Plex limitation - they do not like collections with 0 items in them.

have you tried setting validate: false in your collection definition?

This may be a Plex limitation - they do not like collections with 0 items in them.

have you tried setting validate: false in your collection definition?

I just did, but that only leads to an error:
Collection Error: validate attribute not allowed with Collection Level: Episode

I imagine this is a Plex limitation then, unless perhaps @chazlarson has any suggestions on a way around this

@OttoWerse add these two attributes to the collection

    blank_collection: true
    ignore_blank_results: true

@OttoWerse add these two attributes to the collection

    blank_collection: true
    ignore_blank_results: true

This works, thank you!