mirror of
https://github.com/fergalmoran/picard.git
synced 2026-01-06 00:23:58 +00:00
normalized_types(): ensure front type is first and the rest sorted
It fixes a minor issue where back cover could appear before front cover in dialogs showing those
This commit is contained in:
committed by
Philipp Wolfer
parent
970c6d3b61
commit
86736c5cc1
@@ -414,8 +414,12 @@ class CoverArtImage:
|
||||
return self.datahash.filename
|
||||
|
||||
def normalized_types(self):
|
||||
if self.types:
|
||||
types = sorted(set(self.types))
|
||||
if self.types and self.support_types:
|
||||
# ensure front type is first, if any
|
||||
# the rest is sorted
|
||||
types_front = ['front'] if 'front' in self.types else []
|
||||
types_without_front = sorted(set(t for t in self.types if t != 'front'))
|
||||
types = types_front + types_without_front
|
||||
elif self.is_front_image():
|
||||
types = ['front']
|
||||
else:
|
||||
|
||||
@@ -124,6 +124,14 @@ class CoverArtImageTest(PicardTestCase):
|
||||
self.assertEqual("back", create_image(b'a', types=["back", "medium"], support_types=True).maintype)
|
||||
self.assertEqual("front", create_image(b'a', types=["back", "medium"], support_types=False).maintype)
|
||||
|
||||
def test_normalized_types(self):
|
||||
self.assertEqual(["front"], create_image(b'a').normalized_types())
|
||||
self.assertEqual(["-"], create_image(b'a', support_types=True).normalized_types())
|
||||
self.assertEqual(["front"], create_image(b'a', types=["front"], support_types=True).normalized_types())
|
||||
self.assertEqual(["front", "back"], create_image(b'a', types=["back", "front"], support_types=True).normalized_types())
|
||||
self.assertEqual(["back", "medium"], create_image(b'a', types=["medium", "back"], support_types=True).normalized_types())
|
||||
self.assertEqual(["front"], create_image(b'a', types=["back", "medium"], support_types=False).normalized_types())
|
||||
|
||||
def test_id3_type_derived(self):
|
||||
self.assertEqual(Id3ImageType.COVER_FRONT, create_image(b'a').id3_type)
|
||||
self.assertEqual(Id3ImageType.COVER_FRONT, create_image(b'a', support_types=True).id3_type)
|
||||
|
||||
Reference in New Issue
Block a user