fix #568: ignore items with all keys null

This commit is contained in:
Pedro Silva 2014-03-14 12:04:43 +01:00
parent e2718d792e
commit e8f6781fa0

View file

@ -80,8 +80,15 @@ def _group_by(objs, keys):
import collections
counts = collections.defaultdict(list)
for obj in objs:
key = '\001'.join(repr(getattr(obj, k, '')) for k in keys)
counts[key].append(obj)
values = [getattr(obj, k, None) for k in keys]
values = [v for v in values if v not in (None, '')]
if values:
key = '\001'.join(values)
counts[key].append(obj)
else:
log.debug('%s: all keys %s on item %s are null: skipping',
PLUGIN, str(keys), displayable_path(obj.path))
return counts