Merge pull request #333 from zas/fix_front_image_only

Fix regression, save only ONE front image when "save_only_front_images_t...
This commit is contained in:
Laurent Monin
2014-05-26 17:07:57 +02:00
3 changed files with 18 additions and 9 deletions

View File

@@ -336,7 +336,12 @@ class CoverArt:
"""Downloads next item in queue.
If there are none left, loading of album will be finalized.
"""
if self._queue_empty():
stop = (self.front_image_found and
config.setting["save_images_to_tags"] and not
config.setting["save_images_to_files"] and
config.setting["save_only_front_images_to_tags"])
if stop or self._queue_empty():
self.album._finalize_loading(None)
return

View File

@@ -55,9 +55,13 @@ class Metadata(dict):
def images_to_be_saved_to_tags(self):
if not config.setting["save_images_to_tags"]:
return ()
if not config.setting["save_only_front_images_to_tags"]:
return self.images
return [img for img in self.images if img.is_front_image()]
if config.setting["save_only_front_images_to_tags"]:
# FIXME : rename option at some point
# Embed only ONE front image
for img in self.images:
if img.is_front_image():
return [img]
return self.images
def remove_image(self, index):
self.images.pop(index)

View File

@@ -623,7 +623,7 @@ class TestCoverArt(unittest.TestCase):
def test_asf_types_only_front(self):
self._test_cover_art_types_only_front(
os.path.join('test', 'data', 'test.wma'),
set('acdfg'[:]))
set('a'))
def test_ape_types_only_front(self):
self._test_cover_art_types_only_front(
@@ -633,22 +633,22 @@ class TestCoverArt(unittest.TestCase):
def test_mp3_types_only_front(self):
self._test_cover_art_types_only_front(
os.path.join('test', 'data', 'test.mp3'),
set('acdfg'[:]))
set('a'))
def test_mp4_types_only_front(self):
self._test_cover_art_types_only_front(
os.path.join('test', 'data', 'test.m4a'),
set('acdfg'[:]))
set('a'))
def test_ogg_types_only_front(self):
self._test_cover_art_types_only_front(
os.path.join('test', 'data', 'test.ogg'),
set('acdfg'[:]))
set('a'))
def test_flac_types_only_front(self):
self._test_cover_art_types_only_front(
os.path.join('test', 'data', 'test.flac'),
set('acdfg'[:]))
set('a'))
def _test_cover_art(self, filename):
self._set_up(filename)