From e8f6781fa01e09db7b60ceba3254944d2947c8cd Mon Sep 17 00:00:00 2001 From: Pedro Silva Date: Fri, 14 Mar 2014 12:04:43 +0100 Subject: [PATCH] fix #568: ignore items with all keys null --- beetsplug/duplicates.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/beetsplug/duplicates.py b/beetsplug/duplicates.py index cdd5f12a6..86244d7a0 100644 --- a/beetsplug/duplicates.py +++ b/beetsplug/duplicates.py @@ -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