def test_normalized_metadata(self): #Recorded show test first orig = Metadata.airtime_dict({ 'date' : [u'2012-08-21'], 'tracknumber' : [u'2'], 'title' : [u'record-2012-08-21-11:29:00'], 'artist' : [u'Airtime Show Recorder'] }) orga = Metadata.airtime_dict({ 'date' : [u'2012-08-21'], 'tracknumber' : [u'2'], 'artist' : [u'Airtime Show Recorder'], 'title' : [u'record-2012-08-21-11:29:00'] }) orga['MDATA_KEY_FTYPE'] = u'audioclip' orig['MDATA_KEY_BITRATE'] = u'256000' orga['MDATA_KEY_BITRATE'] = u'256000' old_path = "/home/rudi/recorded/2012-08-21-11:29:00.ogg" normalized = mmp.normalized_metadata(orig, old_path) normalized['MDATA_KEY_BITRATE'] = u'256000' self.assertEqual( orga, normalized ) organized_base_name = "11:29:00-record-256kbps.ogg" base = "/srv/airtime/stor/" organized_path = mmp.organized_path(old_path,base, normalized) self.assertEqual(os.path.basename(organized_path), organized_base_name)
def md_update(self, msg): self.logger.info("Updating metadata for: '%s'" % msg['MDATA_KEY_FILEPATH']) md_path = msg['MDATA_KEY_FILEPATH'] try: Metadata.write_unsafe(path=md_path, md=msg) except BadSongFile as e: self.logger.info("Cannot find metadata file: '%s'" % e.path) except InvalidMetadataElement as e: self.logger.info("Metadata instance not supported for this file '%s'" \ % e.path) self.logger.info(str(e)) except Exception as e: # TODO : add md_path to problem path or something? self.fatal_exception("Unknown error when writing metadata to: '%s'" % md_path, e)
def md_update(self, msg): self.logger.info("Updating metadata for: '%s'" % msg['MDATA_KEY_FILEPATH']) md_path = msg['MDATA_KEY_FILEPATH'] try: Metadata.write_unsafe(path=md_path, md=msg) except BadSongFile as e: self.logger.info("Cannot find metadata file: '%s'" % e.path) except InvalidMetadataElement as e: self.logger.info("Metadata instance not supported for this file '%s'" \ % e.path) self.logger.info(str(e)) except Exception as e: # TODO : add md_path to problem path or something? self.fatal_exception( "Unknown error when writing metadata to: '%s'" % md_path, e)
def test_normalized_metadata3(self): """ Test the case where the metadata is empty """ orig = Metadata.airtime_dict({}) paths_unknown_title = [ ("/testin/unknown-unknown-unknown.mp3",""), ("/testin/01-unknown-123kbps.mp3",""), ("/testin/02-unknown-140kbps.mp3",""), ("/testin/unknown-unknown-123kbps.mp3",""), ("/testin/unknown-bibimbop-unknown.mp3","bibimbop"), ] for p,res in paths_unknown_title: normalized = mmp.normalized_metadata(orig, p) self.assertEqual( normalized['MDATA_KEY_TITLE'], res)
def test_normalized_metadata2(self): """ cc-4305 """ orig = Metadata.airtime_dict({ 'date' : [u'2012-08-27'], 'tracknumber' : [u'3'], 'title' : [u'18-11-00-Untitled Show'], 'artist' : [u'Airtime Show Recorder'] }) old_path = "/home/rudi/recorded/doesnt_really_matter.ogg" normalized = mmp.normalized_metadata(orig, old_path) normalized['MDATA_KEY_BITRATE'] = u'256000' opath = mmp.organized_path(old_path, "/srv/airtime/stor/", normalized) # TODO : add a better test than this... self.assertTrue( len(opath) > 0 )
def metadata(self): return Metadata(self.path)
def test_old_metadata(self): path = "/home/rudi/music/Nightingale.mp3" m = global_reader.read_mutagen(path) self.assertTrue( len(m) > 0 ) n = Metadata(path) self.assertEqual(n.extract(), m)
def test_old_metadata(self): path = "/home/rudi/music/Nightingale.mp3" m = global_reader.read_mutagen(path) self.assertTrue(len(m) > 0) n = Metadata(path) self.assertEqual(n.extract(), m)
def metadatas(self, f): return global_reader.read_mutagen(f), Metadata(f).extract()