aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tagit/widgets/browser.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/tagit/widgets/browser.py b/tagit/widgets/browser.py
index 28f7440..8445706 100644
--- a/tagit/widgets/browser.py
+++ b/tagit/widgets/browser.py
@@ -171,7 +171,8 @@ class Browser(GridLayout, StorageAwareMixin, ConfigAwareMixin):
"""
# get groups and their shadow (group's members in items)
groups = defaultdict(set)
- for obj, grp in reduce(operator.add, items).group(node=True, view=list):
+ all_items = reduce(operator.add, items, self.root.session.storage.empty(ns.bsfs.File))
+ for obj, grp in all_items.group(node=True, view=list):
groups[grp].add(obj)
# don't fold groups if few members
@@ -218,7 +219,7 @@ class Browser(GridLayout, StorageAwareMixin, ConfigAwareMixin):
unfolded |= self.folds[itm].shadow
else:
unfolded |= {itm}
- return reduce(operator.add, unfolded) # FIXME: What if items is empty?
+ return reduce(operator.add, unfolded, self.root.session.storage.empty(ns.bsfs.File))
def neighboring_unselected(self):
"""Return the item closest to the cursor and not being selected. May return None."""