summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjvoisin2018-03-25 16:20:45 +0200
committerjvoisin2018-03-25 16:20:45 +0200
commit2eb68928d50935564e7e3c582136bc25d29b432b (patch)
tree5aae18e94727fc7b2376d3ced76428bceb0651e4
parent19a8fd97aa44e2f42a933f43cc9852d6303d7ca6 (diff)
FLAC support
-rw-r--r--src/parsers/audio.py3
-rw-r--r--tests/data/dirty.flacbin0 -> 235705 bytes
-rw-r--r--tests/test_libmat2.py20
3 files changed, 23 insertions, 0 deletions
diff --git a/src/parsers/audio.py b/src/parsers/audio.py
index 5c5c527..c2c52e6 100644
--- a/src/parsers/audio.py
+++ b/src/parsers/audio.py
@@ -33,3 +33,6 @@ class MP3Parser(MutagenParser):
33 33
34class OGGParser(MutagenParser): 34class OGGParser(MutagenParser):
35 mimetypes = {'audio/ogg', } 35 mimetypes = {'audio/ogg', }
36
37class FLACParser(MutagenParser):
38 mimetypes = {'audio/flac', }
diff --git a/tests/data/dirty.flac b/tests/data/dirty.flac
new file mode 100644
index 0000000..4642a19
--- /dev/null
+++ b/tests/data/dirty.flac
Binary files differ
diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index 50a9a97..27bb8d1 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -35,6 +35,11 @@ class TestGetMeta(unittest.TestCase):
35 meta = p.get_meta() 35 meta = p.get_meta()
36 self.assertEqual(meta['TITLE'], ['I am so']) 36 self.assertEqual(meta['TITLE'], ['I am so'])
37 37
38 def test_flac(self):
39 p = audio.FLACParser('./tests/data/dirty.flac')
40 meta = p.get_meta()
41 self.assertEqual(meta['TITLE'], ['I am so'])
42
38 43
39class TestCleaning(unittest.TestCase): 44class TestCleaning(unittest.TestCase):
40 def test_pdf(self): 45 def test_pdf(self):
@@ -112,3 +117,18 @@ class TestCleaning(unittest.TestCase):
112 self.assertEqual(p.get_meta(), {}) 117 self.assertEqual(p.get_meta(), {})
113 118
114 os.remove('./tests/data/clean.ogg') 119 os.remove('./tests/data/clean.ogg')
120
121 def test_flac(self):
122 shutil.copy('./tests/data/dirty.flac', './tests/data/clean.flac')
123 p = audio.FLACParser('./tests/data/clean.flac')
124
125 meta = p.get_meta()
126 self.assertEqual(meta['TITLE'], ['I am so'])
127
128 ret = p.remove_all()
129 self.assertTrue(ret)
130
131 p = audio.FLACParser('./tests/data/clean.flac.cleaned')
132 self.assertEqual(p.get_meta(), {})
133
134 os.remove('./tests/data/clean.flac')