1
0
Fork 0
mat2/src/audio.py

38 lines
816 B
Python
Raw Normal View History

2018-03-25 16:17:41 +02:00
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):
2018-03-25 16:31:21 +02:00
meta = super().get_meta()
2018-03-25 16:17:41 +02:00
metadata = {}
2018-03-25 16:31:21 +02:00
for key in meta:
metadata[key] = meta[key].text
2018-03-25 16:17:41 +02:00
return metadata
class OGGParser(MutagenParser):
mimetypes = {'audio/ogg', }
2018-03-25 16:20:45 +02:00
class FLACParser(MutagenParser):
mimetypes = {'audio/flac', }