jurialmunkey / script.skinvariables

A helper script for Kodi skinners to construct multiple variables
GNU General Public License v3.0
36 stars 16 forks source link

How to use lastplayed to exclude currently watching TV Shows from list #46

Closed OfficerKD637 closed 6 months ago

OfficerKD637 commented 6 months ago

Hi Jurial!

I want to create two widgets; Trending Movies and Trending TV Shows that exclude any watched or currently watching items.

  1. For ‘Trending Movies’ I used exclude playcount >= 0 to achieve my custom list and that was (almost) perfect! This will get rid of all ‘completely’ played items but not partially played. I tried playing around with lastplayed == or contains Null but couldn’t get it to work. I then tried adding custom params like PercentPlayed or WatchedProgress but I am unable to define them?

  2. For ‘Trending TV Shows’ I wanted to use a custom filter to exclude shows I’m already watching like ‘ListItem.Property(WatchedEpisodes)’ >= 1 but I don’t know how to add these as filters to skin variables. I tried referring to the wiki but couldn’t wrap my head around defining new info labels or properties.

I’m definitely using lastplayed wrong so if you could point me to the right direction or how to define new params as filters, I would be much obliged!

OfficerKD637 commented 6 months ago

Hi Jurial!

I want to create two widgets; Trending Movies and Trending TV Shows that exclude any watched or currently watching items.

  1. For ‘Trending Movies’ I used exclude playcount >= 0 to achieve my custom list and that was (almost) perfect! This will get rid of all ‘completely’ played items but not partially played. I tried playing around with lastplayed == or contains Null but couldn’t get it to work. I then tried adding custom params like PercentPlayed or WatchedProgress but I am unable to define them?

  2. For ‘Trending TV Shows’ I wanted to use a custom filter to exclude shows I’m already watching like ‘ListItem.Property(WatchedEpisodes)’ >= 1 but I don’t know how to add these as filters to skin variables. I tried referring to the wiki but couldn’t wrap my head around defining new info labels or properties.

I’m definitely using lastplayed wrong so if you could point me to the right direction or how to define new params as filters, I would be much obliged!

UPDATE:

  1. For ‘Trending Movies’, playcount >= 0 is good enough because I couldn’t get percentplayed to work haha

  2. For ‘Trending TV Shows’, using exclude ‘watchedepisodes’ >= 0 suddenly worked today! Maybe the key was using all lowercase.

Still no idea how to remove in progress items from these lists, but this is more than good enough!

Thank you for all that you do!

jurialmunkey commented 6 months ago

Yeah it will need to be lower-case for property values because that's how they come via jsonrpc and python is case sensitive.

I don't think filtering out resumable items will be possible because skin variables doesn't get resume point data. It extra jsonrpc call per item, so it's a performance thing, and if you're using it with addons that don't use setresolvedurl it'll be wrong anyway.

OfficerKD637 commented 6 months ago

Yeah it will need to be lower-case for property values because that's how they come via jsonrpc and python is case sensitive.

I don't think filtering out resumable items will be possible because skin variables doesn't get resume point data. It extra jsonrpc call per item, so it's a performance thing, and if you're using it with addons that don't use setresolvedurl it'll be wrong anyway.

Thank you for clarifying that! Yep it makes perfect sense to prioritize performance. It's crazy to me how far Fuse has come! I'm able to run it natively on my LG G3 TV (WebOS) and it's blazing fast⚡️! Trakt authorization in 0.3s and widgets load in an instant! People did try to sway me towards other simpler skins given my hardware, but considering AF is the prettiest skin (by far) I have ever seen, I just can't get myself to use anything else!

I don't know what optimization magic you do behind the scenes, but 'You are a wizard, Jurial!'