diff --git a/src/filters/rclaudio b/src/filters/rclaudio index 03f95ad9..906e492b 100755 --- a/src/filters/rclaudio +++ b/src/filters/rclaudio @@ -7,29 +7,11 @@ import os import rclexecm try: - from mutagen.mp3 import MP3 - from mutagen.easyid3 import EasyID3 - from mutagen.flac import FLAC - from mutagen.oggvorbis import OggVorbis + from mutagen import File except: print("RECFILTERROR HELPERNOTFOUND python:mutagen") sys.exit(1); -# prototype for the html document we're returning -htmltemplate = ''' - -
- - - - - - - %s - - -''' - # mp3: album, title, artist, genre, date, tracknumber # flac: album, title, artist, genre, xxx, tracknumber # oggvorbis:album, title, artist, genre, date, tracknumber @@ -48,41 +30,49 @@ class AudioTagExtractor: filename = params["filename:"] mimetype = params["mimetype:"] try: - if mimetype == b'audio/mpeg': - tags = MP3(filename, ID3=EasyID3) - elif mimetype == b'application/ogg' or \ - mimetype == b'audio/x-vorbis+ogg': - tags = OggVorbis(filename) - elif mimetype == b'application/x-flac' or \ - mimetype == 'audio/x-flac' or \ - mimetype == b'audio/flac': - tags = FLAC(filename) - else: - raise Exception("Bad mime type %s" % mimetype) + mutf = File(filename, easy=True) except Exception as err: self.em.rclog("extractone: extract failed: [%s]" % err) return (ok, docdata, "", rclexecm.RclExecM.eofnow) - album = "" - artist = "" - title = "" - try: - album = self.em.htmlescape(tags["album"][0]) - except: - pass - try: - artist = self.em.htmlescape(tags["artist"][0]) - except: - pass - try: - title = self.em.htmlescape(tags["title"][0]) - except: - pass - self.em.setmimetype("text/html") - alldata = self.em.htmlescape(tags.pprint()) - alldata = alldata.replace("\n", "