Skip to content

Commit

Permalink
✨ Allow setting get_container_labels to window_prop
Browse files Browse the repository at this point in the history
  • Loading branch information
jurialmunkey committed Sep 28, 2023
1 parent b25c212 commit 5d2be01
Showing 1 changed file with 17 additions and 4 deletions.
21 changes: 17 additions & 4 deletions resources/lib/lists/filterdir.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
import operator
from xbmcgui import ListItem
from resources.lib.container import Container
from resources.lib.method import set_to_windowprop
from infotagger.listitem import ListItemInfoTag
from jurialmunkey.parser import split_items

Expand Down Expand Up @@ -352,8 +353,12 @@ def _make_item(i):


class ListGetContainerLabels(Container):
def get_directory(self, containers, infolabel, numitems=None, separator=' / ', filter_value=None, filter_operator=None, exclude_value=None, exclude_operator=None, **kwargs):
from xbmc import getInfoLabel as get_infolabel
def get_directory(
self, containers, infolabel, numitems=None, separator=' / ',
filter_value=None, filter_operator=None, exclude_value=None, exclude_operator=None,
window_prop=None, window_id=None,
**kwargs):
import xbmc

filters = {
'filter_key': 'title',
Expand Down Expand Up @@ -381,11 +386,11 @@ def _make_item(title):

items = []
for container in containers.split():
numitems = int(get_infolabel(f'Container({container}).NumItems') or 0)
numitems = int(xbmc.getInfoLabel(f'Container({container}).NumItems') or 0)
if not numitems:
continue
for x in range(numitems):
titles = get_infolabel(f'Container({container}).ListItemAbsolute({x}).{infolabel}')
titles = xbmc.getInfoLabel(f'Container({container}).ListItemAbsolute({x}).{infolabel}')
if not titles:
continue
for title in titles.split(separator):
Expand All @@ -395,3 +400,11 @@ def _make_item(title):
items.append(item)

self.add_items(items)

if not window_prop or not added_items:
return

for x, i in enumerate(added_items):
set_to_windowprop(i, x, window_prop, window_id)

xbmc.executebuiltin(f'SetProperty({window_prop},{" / ".join(added_items)}{f",{window_id}" if window_id else ""})')

0 comments on commit 5d2be01

Please sign in to comment.