From 19a8fd97aa44e2f42a933f43cc9852d6303d7ca6 Mon Sep 17 00:00:00 2001 From: jvoisin Date: Sun, 25 Mar 2018 16:17:41 +0200 Subject: Implement mp3 and ogg support --- src/parsers/audio.py | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 src/parsers/audio.py (limited to 'src') 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', } -- cgit v1.3