From c9b4e9b414673ec41de93e4bd70a6bfb0569b73c Mon Sep 17 00:00:00 2001 From: Constantine Evans Date: Sun, 10 Dec 2017 12:28:47 -0800 Subject: [PATCH] only use tiebreak if tiebreak includes an entry for the kind being considered, otherwise use default (eg, if only items is specified, and -a is being used, use default order of priority --- beetsplug/duplicates.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/beetsplug/duplicates.py b/beetsplug/duplicates.py index 2584e6628..6913aaef6 100644 --- a/beetsplug/duplicates.py +++ b/beetsplug/duplicates.py @@ -253,13 +253,12 @@ class DuplicatesPlugin(BeetsPlugin): "completeness" (objects with more non-null fields come first) and Albums are ordered by their track count. """ - if tiebreak: - kind = 'items' if all(isinstance(o, Item) - for o in objs) else 'albums' + kind = 'items' if all(isinstance(o, Item) for o in objs) else 'albums' + + if tiebreak and kind in tiebreak.keys(): key = lambda x: tuple(getattr(x, k) for k in tiebreak[kind]) else: - kind = Item if all(isinstance(o, Item) for o in objs) else Album - if kind is Item: + if kind is 'items': def truthy(v): # Avoid a Unicode warning by avoiding comparison # between a bytes object and the empty Unicode