diff --git a/picard/coverartimage.py b/picard/coverartimage.py index fdda6124a..b8810d328 100644 --- a/picard/coverartimage.py +++ b/picard/coverartimage.py @@ -247,7 +247,8 @@ class CoverArtImage: assert(self.tempfile_filename is not None) if config.setting["caa_image_type_as_filename"]: filename = self.maintype - log.debug("Make cover filename from types: %r -> %r", self.types, filename) + log.debug("Make cover filename from types: %r -> %r", + self.types, filename) else: filename = config.setting["cover_image_filename"] log.debug("Using default cover image filename %r", filename) @@ -285,7 +286,7 @@ class CoverArtImage: def _is_write_needed(self, filename): if (os.path.exists(filename) - and os.path.getsize(filename) == self.datalength): + and os.path.getsize(filename) == self.datalength): log.debug("Identical file size, not saving %r", filename) return False return True diff --git a/picard/formats/asf.py b/picard/formats/asf.py index 073dfab5d..4d8060639 100644 --- a/picard/formats/asf.py +++ b/picard/formats/asf.py @@ -155,7 +155,7 @@ class ASFFile(File): ) except CoverArtImageError as e: log.error('Cannot load image from %r: %s' % - (filename, e)) + (filename, e)) continue elif name not in self.__RTRANS: continue diff --git a/picard/formats/mp4.py b/picard/formats/mp4.py index 26b17d57b..cd918694b 100644 --- a/picard/formats/mp4.py +++ b/picard/formats/mp4.py @@ -153,7 +153,8 @@ class MP4File(File): ) ) except CoverArtImageError as e: - log.error('Cannot load image from %r: %s' % (filename, e)) + log.error('Cannot load image from %r: %s' % + (filename, e)) self._info(metadata, file) return metadata diff --git a/picard/formats/vorbis.py b/picard/formats/vorbis.py index 91481286e..235d7417a 100644 --- a/picard/formats/vorbis.py +++ b/picard/formats/vorbis.py @@ -109,7 +109,8 @@ class VCommentFile(File): ) ) except CoverArtImageError as e: - log.error('Cannot load image from %r: %s' % (filename, e)) + log.error('Cannot load image from %r: %s' % + (filename, e)) continue elif name in self.__translate: name = self.__translate[name] @@ -143,7 +144,8 @@ class VCommentFile(File): ) ) except CoverArtImageError as e: - log.error('Cannot load image from %r: %s' % (filename, e)) + log.error('Cannot load image from %r: %s' % + (filename, e)) except KeyError: pass self._info(metadata, file) diff --git a/picard/util/imageinfo.py b/picard/util/imageinfo.py index 8aea38724..df5ad1c89 100644 --- a/picard/util/imageinfo.py +++ b/picard/util/imageinfo.py @@ -82,8 +82,10 @@ def identify(data): b = jpeg.read(1) try: while (b and ord(b) != 0xDA): # Start Of Scan (SOS) - while (ord(b) != 0xFF): b = jpeg.read(1) - while (ord(b) == 0xFF): b = jpeg.read(1) + while (ord(b) != 0xFF): + b = jpeg.read(1) + while (ord(b) == 0xFF): + b = jpeg.read(1) if ord(b) in (0xC0, 0xC1, 0xC2, 0xC5, 0xC6, 0xC7, 0xC9, 0xCA, 0xCB, 0xCD, 0xCE, 0xCF): jpeg.read(2) # parameter length (2 bytes) diff --git a/test/test_formats.py b/test/test_formats.py index 6d1c86c1b..e664ef4ba 100644 --- a/test/test_formats.py +++ b/test/test_formats.py @@ -510,7 +510,9 @@ cover_settings = { 'save_only_front_images_to_tags': True, } + class TestCoverArt(unittest.TestCase): + def setUp(self): with open(os.path.join('test', 'data', 'mb.jpg'), 'rb') as f: self.jpegdata = f.read() @@ -592,7 +594,6 @@ class TestCoverArt(unittest.TestCase): def test_flac(self): self._test_cover_art(os.path.join('test', 'data', 'test.flac')) - # test for multiple images added to files, some types don't accept more than # one, and there is no guarantee that order is preserved def test_asf_types(self): @@ -620,28 +621,34 @@ class TestCoverArt(unittest.TestCase): set('abcdefg'[:])) def test_asf_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.wma'), - set('acdfg'[:])) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.wma'), + set('acdfg'[:])) def test_ape_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.wv'), - set('a')) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.wv'), + set('a')) def test_mp3_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.mp3'), - set('acdfg'[:])) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.mp3'), + set('acdfg'[:])) def test_mp4_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.m4a'), - set('acdfg'[:])) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.m4a'), + set('acdfg'[:])) def test_ogg_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.ogg'), - set('acdfg'[:])) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.ogg'), + set('acdfg'[:])) def test_flac_types_only_front(self): - self._test_cover_art_types_only_front(os.path.join('test', 'data', 'test.flac'), - set('acdfg'[:])) + self._test_cover_art_types_only_front( + os.path.join('test', 'data', 'test.flac'), + set('acdfg'[:])) def _test_cover_art(self, filename): self._set_up(filename) @@ -684,7 +691,7 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='a', tag='a', - data=imgdata+'a', + data=imgdata + 'a', support_types=True, types=[u'booklet', u'front'], ) @@ -693,7 +700,7 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='b', tag='b', - data=imgdata+'b', + data=imgdata + 'b', support_types=True, types=[u'back'], ) @@ -702,7 +709,7 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='c', tag='c', - data=imgdata+'c', + data=imgdata + 'c', support_types=True, types=[u'front'], ) @@ -711,14 +718,14 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='d', tag='d', - data=imgdata+'d', + data=imgdata + 'd', ) ) metadata.append_image( TagCoverArtImage( file='e', tag='e', - data=imgdata+'e', + data=imgdata + 'e', is_front=False ) ) @@ -726,7 +733,7 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='f', tag='f', - data=imgdata+'f', + data=imgdata + 'f', types=[u'front'] ) ) @@ -734,7 +741,7 @@ class TestCoverArt(unittest.TestCase): TagCoverArtImage( file='g', tag='g', - data=imgdata+'g', + data=imgdata + 'g', types=[u'back'], is_front=True ) @@ -770,7 +777,7 @@ class TestCoverArt(unittest.TestCase): self._tear_down() def _test_cover_art_types_only_front(self, filename, expect): - self._set_up(filename, { 'save_only_front_images_to_tags': True } ) + self._set_up(filename, {'save_only_front_images_to_tags': True}) try: f = picard.formats.open(self.filename) f._save(self.filename, self._cover_metadata()) diff --git a/test/test_utils.py b/test/test_utils.py index 0493b1292..1b580aae5 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -172,6 +172,7 @@ class AlbumArtistFromPathTest(unittest.TestCase): from picard.util import imageinfo + class ImageInfoTest(unittest.TestCase): def test_gif(self): @@ -189,7 +190,7 @@ class ImageInfoTest(unittest.TestCase): with open(file, 'rb') as f: self.assertEqual( imageinfo.identify(f.read()), - (140, 96, 'image/png','.png', 15692) + (140, 96, 'image/png', '.png', 15692) ) def test_jpeg(self): @@ -202,14 +203,19 @@ class ImageInfoTest(unittest.TestCase): ) def test_not_enough_data(self): - self.assertRaises(imageinfo.IdentificationError, imageinfo.identify, "x") + self.assertRaises(imageinfo.IdentificationError, + imageinfo.identify, "x") self.assertRaises(imageinfo.NotEnoughData, imageinfo.identify, "x") def test_invalid_data(self): - self.assertRaises(imageinfo.IdentificationError, imageinfo.identify, "x" * 20) - self.assertRaises(imageinfo.UnrecognizedFormat, imageinfo.identify, "x" * 20) + self.assertRaises(imageinfo.IdentificationError, + imageinfo.identify, "x" * 20) + self.assertRaises(imageinfo.UnrecognizedFormat, + imageinfo.identify, "x" * 20) def test_invalid_png_data(self): data = '\x89PNG\x0D\x0A\x1A\x0A' + "x" * 20 - self.assertRaises(imageinfo.IdentificationError, imageinfo.identify, data) - self.assertRaises(imageinfo.UnrecognizedFormat, imageinfo.identify, data) + self.assertRaises(imageinfo.IdentificationError, + imageinfo.identify, data) + self.assertRaises(imageinfo.UnrecognizedFormat, + imageinfo.identify, data)