From b2e153b69caac208fb1821e2f21436a2f0487188 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Thu, 11 Oct 2018 18:15:11 +0200 Subject: Delete pictures of FLAC files --- libmat2/audio.py | 14 ++++++++++++++ tests/data/dirty.flac | Bin 235705 -> 375060 bytes tests/test_libmat2.py | 1 + 3 files changed, 15 insertions(+) diff --git a/libmat2/audio.py b/libmat2/audio.py index 99a335d..f2a5e94 100644 --- a/libmat2/audio.py +++ b/libmat2/audio.py @@ -44,3 +44,17 @@ class OGGParser(MutagenParser): class FLACParser(MutagenParser): mimetypes = {'audio/flac', 'audio/x-flac'} + + def remove_all(self): + shutil.copy(self.filename, self.output_filename) + f = mutagen.File(self.output_filename) + f.clear_pictures() + f.delete() + f.save(deleteid3=True) + return True + + def get_meta(self): + meta = super().get_meta() + if mutagen.File(self.filename).pictures: + meta['Picture'] = 'Cover' + return meta diff --git a/tests/data/dirty.flac b/tests/data/dirty.flac index 4642a19..8fa53d4 100644 Binary files a/tests/data/dirty.flac and b/tests/data/dirty.flac differ diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py index 957503d..2f7d0c5 100644 --- a/tests/test_libmat2.py +++ b/tests/test_libmat2.py @@ -96,6 +96,7 @@ class TestGetMeta(unittest.TestCase): p = audio.FLACParser('./tests/data/dirty.flac') meta = p.get_meta() self.assertEqual(meta['title'], 'I am so') + self.assertEqual(meta['Picture'], 'Cover') def test_docx(self): p = office.MSOfficeParser('./tests/data/dirty.docx') -- cgit v1.3