From 19a8fd97aa44e2f42a933f43cc9852d6303d7ca6 Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Sun, 25 Mar 2018 16:17:41 +0200
Subject: [PATCH] Implement mp3 and ogg support

---
 src/parsers/audio.py  |  35 +++++++++++++++++++++++++++++++++
 tests/data/dirty.mp3  | Bin 0 -> 33646 bytes
 tests/data/dirty.ogg  | Bin 0 -> 23298 bytes
 tests/test_libmat2.py |  44 ++++++++++++++++++++++++++++++++++++++++--
 4 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 src/parsers/audio.py
 create mode 100644 tests/data/dirty.mp3
 create mode 100644 tests/data/dirty.ogg

diff --git a/src/parsers/audio.py b/src/parsers/audio.py
new file mode 100644
index 0000000..5c5c527
--- /dev/null
+++ b/src/parsers/audio.py
@@ -0,0 +1,35 @@
+import subprocess
+import shutil
+import json
+
+import mutagen
+
+from . import abstract
+
+class MutagenParser(abstract.AbstractParser):
+    def get_meta(self):
+        f = mutagen.File(self.filename)
+        if f.tags:
+            return f.tags
+        return {}
+
+    def remove_all(self):
+        shutil.copy(self.filename, self.output_filename)
+        f = mutagen.File(self.output_filename)
+        f.delete()
+        f.save()
+        return True
+
+class MP3Parser(MutagenParser):
+    mimetypes = {'audio/mpeg', }
+
+    def get_meta(self):
+        metadata = {}
+        f = mutagen.File(self.filename)
+        if f.tags:
+            for key in f.tags:
+                metadata[key] = f.tags[key].text
+        return metadata
+
+class OGGParser(MutagenParser):
+    mimetypes = {'audio/ogg', }
diff --git a/tests/data/dirty.mp3 b/tests/data/dirty.mp3
new file mode 100644
index 0000000000000000000000000000000000000000..7b6de6abe9ca6838235c17ecea58c33c8125105b
GIT binary patch
literal 33646
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
aYu^7~{KxfQsE?zstFfM?rJivpZU6wJ$2i6S

literal 0
HcmV?d00001

diff --git a/tests/data/dirty.ogg b/tests/data/dirty.ogg
new file mode 100644
index 0000000000000000000000000000000000000000..b938099cfc25193c4d425239cc6969b0b6fd7045
GIT binary patch
literal 23298
zcmeZIPY-5bVt|4doSvp2rsId!SVlR<vizc?%wmuLlgk<q#lXN&&Io4gU<B&~vq1z%
zCrIY4?>7yBNB>d4BW8#}x(o~q5t#)Udj3V}3OSicVPNAGJQa)#3=Iqo4Ga}Df|D~6
zOVd*GO4HL*OEftc7#MgM7#Q4L{eoO=11d{0^7Hr@7#JLVoI-tVGZKq((@Jx4Kq4VQ
zj?UhGp}tP8LAEAF;tUK7o(hS%3W*A~Wr;<Z`K84Q$@#gtsd**53=9k*o*_Q2wqOOt
z`J4<43@(l#uC|88#^y>43=GcxzP_%0A;GpG8Hst>3YGb#3TgR83Z=!FdFcwijv)$)
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
N^s>pk>8APnnE@gdxlRB8

literal 0
HcmV?d00001

diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index 1d31695..50a9a97 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -5,7 +5,7 @@ import shutil
 import os
 
 from src import parsers
-from src.parsers import pdf, png, jpg
+from src.parsers import pdf, png, jpg, audio
 
 class TestGetMeta(unittest.TestCase):
     def test_pdf(self):
@@ -25,6 +25,17 @@ class TestGetMeta(unittest.TestCase):
         meta = p.get_meta()
         self.assertEqual(meta['Comment'], 'Created with GIMP')
 
+    def test_mp3(self):
+        p = audio.MP3Parser('./tests/data/dirty.mp3')
+        meta = p.get_meta()
+        self.assertEqual(meta['TXXX:I am a '], ['various comment'])
+
+    def test_ogg(self):
+        p = audio.OGGParser('./tests/data/dirty.ogg')
+        meta = p.get_meta()
+        self.assertEqual(meta['TITLE'], ['I am so'])
+
+
 class TestCleaning(unittest.TestCase):
     def test_pdf(self):
         shutil.copy('./tests/data/dirty.pdf', './tests/data/clean.pdf')
@@ -57,7 +68,6 @@ class TestCleaning(unittest.TestCase):
 
         os.remove('./tests/data/clean.png')
 
-
     def test_jpg(self):
         shutil.copy('./tests/data/dirty.jpg', './tests/data/clean.jpg')
         p = jpg.JPGParser('./tests/data/clean.jpg')
@@ -72,3 +82,33 @@ class TestCleaning(unittest.TestCase):
         self.assertEqual(p.get_meta(), {})
 
         os.remove('./tests/data/clean.jpg')
+
+    def test_mp3(self):
+        shutil.copy('./tests/data/dirty.mp3', './tests/data/clean.mp3')
+        p = audio.MP3Parser('./tests/data/clean.mp3')
+
+        meta = p.get_meta()
+        self.assertEqual(meta['TXXX:I am a '], ['various comment'])
+
+        ret = p.remove_all()
+        self.assertTrue(ret)
+
+        p = audio.MP3Parser('./tests/data/clean.mp3.cleaned')
+        self.assertEqual(p.get_meta(), {})
+
+        os.remove('./tests/data/clean.mp3')
+
+    def test_ogg(self):
+        shutil.copy('./tests/data/dirty.ogg', './tests/data/clean.ogg')
+        p = audio.OGGParser('./tests/data/clean.ogg')
+
+        meta = p.get_meta()
+        self.assertEqual(meta['TITLE'], ['I am so'])
+
+        ret = p.remove_all()
+        self.assertTrue(ret)
+
+        p = audio.OGGParser('./tests/data/clean.ogg.cleaned')
+        self.assertEqual(p.get_meta(), {})
+
+        os.remove('./tests/data/clean.ogg')
-- 
GitLab