mirror of
https://github.com/fergalmoran/picard.git
synced 2025-12-22 09:18:18 +00:00
PICARD-2939: Fix exception when genre filtering results in empty genre list
This commit is contained in:
@@ -115,6 +115,8 @@ class TagGenreFilter:
|
||||
for name, count in counter.items():
|
||||
if not self.skip(name):
|
||||
result[name] = count
|
||||
if not result:
|
||||
return result
|
||||
topcount = result.most_common(1)[0][1]
|
||||
for name, count in counter.items():
|
||||
percent = 100 * count // topcount
|
||||
|
||||
@@ -178,3 +178,15 @@ class TagGenreFilterTest(PicardTestCase):
|
||||
genres = Counter(ax=4, bx=5, ay=20, by=10, bz=4)
|
||||
result = tag_filter.filter(genres, minusage=50)
|
||||
self.assertEqual([('bx', 5), ('by', 10)], list(result.items()))
|
||||
|
||||
def test_filter_method_empty_input(self):
|
||||
tag_filter = TagGenreFilter("")
|
||||
genres = Counter()
|
||||
result = tag_filter.filter(genres)
|
||||
self.assertEqual([], list(result.items()))
|
||||
|
||||
def test_filter_method_empty_result(self):
|
||||
tag_filter = TagGenreFilter("-*")
|
||||
genres = Counter(ax=1, bx=2, ay=3, by=4)
|
||||
result = tag_filter.filter(genres)
|
||||
self.assertEqual([], list(result.items()))
|
||||
|
||||
Reference in New Issue
Block a user