diff --git a/libmat2/audio.py b/libmat2/audio.py index 99a335d491ab06c6d6282101b914a6c22f140fe7..f2a5e946540e10265c4db1969a80876c09dccd2b 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 4642a19870d8eb03f2ed41270c3c8cd99076389f..8fa53d43c30f51d493b022d9605a9663b1825a0f 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 957503d12a09dccb7fdb75995da9b699b3601dd4..2f7d0c56ead5701295f7dd8e75006bdb60adee28 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')