From: Ivan Frade Date: Fri, 26 Feb 2010 15:29:15 +0000 (+0200) Subject: Added support for OGG using mutagen autodetection X-Git-Tag: mussorgsky-0.5-1~18 X-Git-Url: http://vcs.maemo.org/git/?p=mussorgsky;a=commitdiff_plain;h=b922e17120b6f6f98c0bbec1c70c82766d01252b Added support for OGG using mutagen autodetection --- diff --git a/src/mutagen_backend.py b/src/mutagen_backend.py index 49f3918..4dde08a 100755 --- a/src/mutagen_backend.py +++ b/src/mutagen_backend.py @@ -3,10 +3,15 @@ import mutagen class MutagenBackend (): + # + # Maybe all this can be simplified using mutagen.File + # def __init__ (self): self.formats = {"audio/mpeg": self.__id3_writer , "audio/x-ms-wma" : self.__wma_writer , - "audio/x-flac" : self.__flac_writer } + "audio/x-flac" : self.__autoguess_writer , + "audio/ogg" : self.__autoguess_writer , + "audio/ogg+vorbis" : self.__autoguess_writer } def get_supported_mimes (self): return self.formats.keys () @@ -49,9 +54,8 @@ class MutagenBackend (): except: return False - def __flac_writer (self, filename, artist, title, album): - from mutagen.flac import FLAC - audio = FLAC (filename) + def __autoguess_writer (self, filename, artist, title, album): + audio = mutagen.File (filename) audio["artist"] = artist audio["title"] = title audio["album"] = album @@ -60,53 +64,10 @@ class MutagenBackend (): return True except: return False - - -if __name__ == "__main__": - import os - - def verify (filename, expected_artist, expected_title, expected_album): - from mutagen.easyid3 import EasyID3 - audio = EasyID3 (filename) - assert audio["artist"][0] == expected_artist - assert audio["title"][0] == expected_title - assert audio["album"][0] == expected_album - - def verify_wma (filename, expected_artist, expected_title, expected_album): - from mutagen.asf import ASF - audio = ASF (filename) - assert str(audio["Author"][0]) == expected_artist - assert str(audio["Title"][0]) == expected_title - assert str(audio["WM/AlbumTitle"][0]) == expected_album - - def verify_flac (filename, expected_artist, expected_title, expected_album): - from mutagen.flac import FLAC - audio = FLAC (filename) - assert audio["artist"][0] == expected_artist - assert audio["title"][0] == expected_title - assert audio["album"][0] == expected_album - - writer = MutagenBackend () - - TEST_FILE = "test-files/empty.flac" - TEST_FILE_TO_BREAK = "test-files/test-result.flac" - - out = open (TEST_FILE_TO_BREAK, 'w') - out.write (open (TEST_FILE,'r').read ()) - out.close () - - writer.save_metadata_on_file (TEST_FILE_TO_BREAK, "audio/x-flac", - "artist_test", "title_test", "album_test") - verify_flac (TEST_FILE_TO_BREAK, "artist_test", "title_test", "album_test") - writer.save_metadata_on_file (TEST_FILE_TO_BREAK, "audio/x-flac", - "artist_test_2", "title_test_2", "album_2") - verify_flac (TEST_FILE_TO_BREAK, "artist_test_2", "title_test_2", "album_2") - - #os.unlink (TEST_FILE_TO_BREAK) +if __name__ == "__main__": - print "Pass: FLAC" - + pass ## TEST_FILE = "test-files/strange.mp3" ## TEST_FILE_TO_BREAK = "test-files/strange-fixed.mp3"