def setUp(self): self.dff_1 = DSDIFF(self.silence_1) self.dff_2 = DSDIFF(self.silence_2) self.dff_dst = DSDIFF(self.silence_dst) self.dff_id3 = DSDIFF(get_temp_copy(self.silence_dst)) self.dff_no_id3 = DSDIFF(get_temp_copy(self.silence_2))
def setUp(self): self.filename_1 = get_temp_copy(self.has_tags) self.filename_2 = get_temp_copy(self.no_tags) self.dsf_tmp_id3 = DSF(self.filename_1) self.dsf_tmp_no_id3 = DSF(self.filename_2) self.dsf_1 = DSF(self.silence_1) self.dsf_2 = DSF(self.silence_2)
def setUp(self): self.filename_1 = get_temp_copy(self.has_tags) self.filename_2 = get_temp_copy(self.no_tags) self.dsf_tmp_id3 = DSF(self.filename_1) self.dsf_tmp_no_id3 = DSF(self.filename_2) self.dsf_1 = DSF(self.silence_1) self.dsf_2 = DSF(self.silence_2)
def setUp(self): self.filename_1 = get_temp_copy(self.has_tags) self.filename_2 = get_temp_copy(self.no_tags) self.aiff_tmp_id3 = AIFF(self.filename_1) self.aiff_tmp_no_id3 = AIFF(self.filename_2) self.aiff_1 = AIFF(self.silence_1) self.aiff_2 = AIFF(self.silence_2) self.aiff_3 = AIFF(self.silence_3) self.aiff_4 = AIFF(self.silence_4) self.aiff_5 = AIFF(self.silence_5)
def setUp(self): self.filename_1 = get_temp_copy(self.has_tags) self.filename_2 = get_temp_copy(self.no_tags) self.aiff_tmp_id3 = AIFF(self.filename_1) self.aiff_tmp_no_id3 = AIFF(self.filename_2) self.aiff_1 = AIFF(self.silence_1) self.aiff_2 = AIFF(self.silence_2) self.aiff_3 = AIFF(self.silence_3) self.aiff_4 = AIFF(self.silence_4) self.aiff_5 = AIFF(self.silence_5)
def setUp(self): self.file_1 = open(self.has_tags, 'rb') self.iff_1 = IFFFile(self.file_1) self.file_2 = open(self.no_tags, 'rb') self.iff_2 = IFFFile(self.file_2) self.tmp_1_name = get_temp_copy(self.has_tags) self.file_1_tmp = open(self.tmp_1_name, 'rb+') self.iff_1_tmp = IFFFile(self.file_1_tmp) self.tmp_2_name = get_temp_copy(self.no_tags) self.file_2_tmp = open(self.tmp_2_name, 'rb+') self.iff_2_tmp = IFFFile(self.file_2_tmp)
def setUp(self): self.file_1 = open(self.has_tags, 'rb') self.iff_1 = IFFFile(self.file_1) self.file_2 = open(self.no_tags, 'rb') self.iff_2 = IFFFile(self.file_2) self.tmp_1_name = get_temp_copy(self.has_tags) self.file_1_tmp = open(self.tmp_1_name, 'rb+') self.iff_1_tmp = IFFFile(self.file_1_tmp) self.tmp_2_name = get_temp_copy(self.no_tags) self.file_2_tmp = open(self.tmp_2_name, 'rb+') self.iff_2_tmp = IFFFile(self.file_2_tmp)
def test_picard_lifecycle(self): path_tmp_wav_file = \ get_temp_copy(self.fn_wav_pcm_2s_16000_08_notags) from mutagen.id3 import ID3 wav = WAVE(path_tmp_wav_file) id3 = wav.tags """" Picard WaveFile._get_tags: """ self.assertIsNone(id3, "Ensure ID3-tag-header does not exist") """" Picard WaveFile._get_tags: initialize tags """ wav.add_tags() id3 = wav.tags self.assertIsInstance(id3, ID3) """ ID3v2.3 separator """ separator = '/' """ Initialize Picard like metadata tags """ self.__init_id3_tags(id3, major=3) """ Write the Picard like metadata to the empty WAVE-file """ id3.save(path_tmp_wav_file, v23_sep=separator) """ Tags (metadata) have been added; now load the file again """ wav = WAVE(path_tmp_wav_file) id3 = wav.tags self.assertIsInstance(id3, ID3) self.assertEquals(id3["TRCK"], "1/10") self.assertEquals(id3["TPOS"], "1/1") self.assertEquals(id3["TXXX:MusicBrainz Release Group Id"], "e00305af-1c72-469b-9a7c-6dc665ca9adc") self.assertEquals(id3["TXXX:MusicBrainz Album Artist Id"], [ "3fe817fc-966e-4ece-b00a-76be43e7e73c", "984f8239-8fe1-4683-9c54-10ffb14439e9" ]) self.assertEquals(id3["TXXX:CATALOGNUMBER"], ["PRAR931391"]) self.assertEquals(id3["TSRC"], ["NLB931100460", "USMH51100098"])
def test_write_back_bad_atoms(self): # write a broken atom and try to load it data = Atom.render(b"datA", b"\x00\x00\x00\x01\x00\x00\x00\x00wheeee") data = Atom.render(b"aART", data) tags = self.wrap_ilst(data) self.assertFalse(tags) # save it into an existing mp4 original = os.path.join(DATA_DIR, "has-tags.m4a") filename = get_temp_copy(original) try: delete(filename) # it should still end up in the file tags.save(filename) with open(filename, "rb") as h: self.assertTrue(b"wheeee" in h.read()) # if we define our own aART throw away the broken one tags["aART"] = ["new"] tags.save(filename) with open(filename, "rb") as h: self.assertFalse(b"wheeee" in h.read()) # add the broken one back and delete all tags including # the broken one del tags["aART"] tags.save(filename) with open(filename, "rb") as h: self.assertTrue(b"wheeee" in h.read()) delete(filename) with open(filename, "rb") as h: self.assertFalse(b"wheeee" in h.read()) finally: os.unlink(filename)
def test_write_back_bad_atoms(self): # write a broken atom and try to load it data = Atom.render(b"datA", b"\x00\x00\x00\x01\x00\x00\x00\x00wheeee") data = Atom.render(b"aART", data) tags = self.wrap_ilst(data) self.assertFalse(tags) # save it into an existing mp4 original = os.path.join(DATA_DIR, "has-tags.m4a") filename = get_temp_copy(original) try: delete(filename) # it should still end up in the file tags.save(filename) with open(filename, "rb") as h: self.assertTrue(b"wheeee" in h.read()) # if we define our own aART throw away the broken one tags["aART"] = ["new"] tags.save(filename) with open(filename, "rb") as h: self.assertFalse(b"wheeee" in h.read()) # add the broken one back and delete all tags including # the broken one del tags["aART"] tags.save(filename) with open(filename, "rb") as h: self.assertTrue(b"wheeee" in h.read()) delete(filename) with open(filename, "rb") as h: self.assertFalse(b"wheeee" in h.read()) finally: os.unlink(filename)
def setUp(self): self.silence = os.path.join(DATA_DIR, 'silence-44-s.mp3') self.newsilence = get_temp_copy(self.silence) # remove ID3v1 tag with open(self.newsilence, "rb+") as f: f.seek(-128, 2) f.truncate()
def setUp(self): self.silence = os.path.join(DATA_DIR, 'silence-44-s.mp3') self.newsilence = get_temp_copy(self.silence) # remove ID3v1 tag with open(self.newsilence, "rb+") as f: f.seek(-128, 2) f.truncate()
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "sample.oggtheora")) self.audio = OggTheora(self.filename) self.audio2 = OggTheora( os.path.join(DATA_DIR, "sample_length.oggtheora")) self.audio3 = OggTheora( os.path.join(DATA_DIR, "sample_bitrate.oggtheora"))
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "sample.oggtheora")) self.audio = OggTheora(self.filename) self.audio2 = OggTheora( os.path.join(DATA_DIR, "sample_length.oggtheora")) self.audio3 = OggTheora( os.path.join(DATA_DIR, "sample_bitrate.oggtheora"))
def setUp(self): original = os.path.join(DATA_DIR, "adif.aac") self.filename = get_temp_copy(original) tag = ID3() tag.add(TIT1(text=[u"a" * 5000], encoding=3)) tag.save(self.filename) self.aac = AAC(original) self.aac_id3 = AAC(self.filename)
def test_renumber_reread(self): try: filename = get_temp_copy( os.path.join(DATA_DIR, "multipagecomment.ogg")) with open(filename, "rb+") as fileobj: OggPage.renumber(fileobj, 1002429366, 20) with open(filename, "rb+") as fileobj: OggPage.renumber(fileobj, 1002429366, 0) finally: os.unlink(filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.mp3")) self.mp3 = MP3(self.filename) self.mp3_2 = MP3(self.silence_nov2) self.mp3_3 = MP3(self.silence_mpeg2) self.mp3_4 = MP3(self.silence_mpeg25) self.mp3_lame = MP3(self.lame) self.mp3_lame_peak = MP3(self.lame_peak)
def setUp(self): super(TMOggSPlit, self).setUp() self.filename = get_temp_copy( os.path.join(DATA_DIR, 'multipagecomment.ogg')) # append the second file with open(self.filename, "ab") as first: to_append = os.path.join(DATA_DIR, 'multipage-setup.ogg') with open(to_append, "rb") as second: first.write(second.read())
def test_renumber_reread(self): try: filename = get_temp_copy( os.path.join(DATA_DIR, "multipagecomment.ogg")) with open(filename, "rb+") as fileobj: OggPage.renumber(fileobj, 1002429366, 20) with open(filename, "rb+") as fileobj: OggPage.renumber(fileobj, 1002429366, 0) finally: os.unlink(filename)
def setUp(self): original = os.path.join(DATA_DIR, "adif.aac") self.filename = get_temp_copy(original) tag = ID3() tag.add(TIT1(text=[u"a" * 5000], encoding=3)) tag.save(self.filename) self.aac = AAC(original) self.aac_id3 = AAC(self.filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.mp3")) self.mp3 = MP3(self.filename) self.mp3_2 = MP3(self.silence_nov2) self.mp3_3 = MP3(self.silence_mpeg2) self.mp3_4 = MP3(self.silence_mpeg25) self.mp3_lame = MP3(self.lame) self.mp3_lame_peak = MP3(self.lame_peak)
def test_save_reload(self): filename = get_temp_copy(self.audio.filename) try: audio = TrueAudio(filename) audio.add_tags() audio.tags.add(TIT1(encoding=0, text="A Title")) audio.save() audio = TrueAudio(filename) self.failUnlessEqual(audio["TIT1"], "A Title") finally: os.unlink(filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.flac")) # add a second vorbis comment block to the file right after the first some_tags = VCFLACDict() some_tags["DUPLICATE"] = ["SECOND"] f = FLAC(self.filename) f.tags["DUPLICATE"] = ["FIRST"] assert f.tags is f.metadata_blocks[2] f.metadata_blocks.insert(3, some_tags) f.save()
def setUp(self): super(TMOggSPlit, self).setUp() self.filename = get_temp_copy( os.path.join(DATA_DIR, fsn(u'multipagecomment.ogg'))) # append the second file first = open(self.filename, "ab") to_append = os.path.join(DATA_DIR, fsn(u'multipage-setup.ogg')) second = open(to_append, "rb") first.write(second.read()) second.close() first.close()
def setUp(self): self.sample_new = get_temp_copy(SAMPLE) self.broken_new = get_temp_copy(BROKEN) tag = mutagen.apev2.APEv2() self.values = { "artist": "Joe Wreschnig\0unittest", "album": "Mutagen tests", "title": "Not really a song" } for k, v in self.values.items(): tag[k] = v tag.save(self.sample_new) self.just_tag = get_temp_empty() tag.save(self.just_tag) self.tag_at_start = get_temp_empty() tag.save(self.tag_at_start) with open(self.tag_at_start, "ab") as fileobj: fileobj.write(b"tag garbage" * 1000) self.tag = mutagen.apev2.APEv2(self.sample_new)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.flac")) # add a second vorbis comment block to the file right after the first some_tags = VCFLACDict() some_tags["DUPLICATE"] = ["SECOND"] f = FLAC(self.filename) f.tags["DUPLICATE"] = ["FIRST"] assert f.tags is f.metadata_blocks[2] f.metadata_blocks.insert(3, some_tags) f.save()
def setUp(self): super(TMOggSPlit, self).setUp() self.filename = get_temp_copy( os.path.join(DATA_DIR, fsn(u'multipagecomment.ogg'))) # append the second file first = open(self.filename, "ab") to_append = os.path.join( DATA_DIR, fsn(u'multipage-setup.ogg')) second = open(to_append, "rb") first.write(second.read()) second.close() first.close()
def setUp(self): fn_wav_pcm_2s_16000_08_id3v23 = \ os.path.join(DATA_DIR, "silence-2s-PCM-16000-08-ID3v23.wav") self.wav_pcm_2s_16000_08_ID3v23 = \ WAVE(fn_wav_pcm_2s_16000_08_id3v23) self.tmp_fn_pcm_2s_16000_08_ID3v23 = \ get_temp_copy(fn_wav_pcm_2s_16000_08_id3v23) self.tmp_wav_pcm_2s_16000_08_ID3v23 = \ WAVE(self.tmp_fn_pcm_2s_16000_08_ID3v23) self.fn_wav_pcm_2s_16000_08_notags = \ os.path.join(DATA_DIR, "silence-2s-PCM-16000-08-notags.wav") self.wav_pcm_2s_16000_08_notags = \ WAVE(self.fn_wav_pcm_2s_16000_08_notags) self.tmp_fn_pcm_2s_16000_08_notag = \ get_temp_copy(self.fn_wav_pcm_2s_16000_08_notags) self.tmp_wav_pcm_2s_16000_08_notag = \ WAVE(self.tmp_fn_pcm_2s_16000_08_notag) fn_wav_pcm_2s_44100_16_id3v23 = \ os.path.join(DATA_DIR, "silence-2s-PCM-44100-16-ID3v23.wav") self.wav_pcm_2s_44100_16_ID3v23 = WAVE(fn_wav_pcm_2s_44100_16_id3v23)
def test_load_v1_v2_tcon_translate(self): tags = ID3() tags.add(TCON(text=["12"])) v1_data = MakeID3v1(tags) filename = get_temp_copy(self.empty) try: tags = ID3() tags.save(filename=filename, v1=0) with open(filename, "ab") as h: h.write(v1_data) tags = ID3(filename, load_v1=True) assert tags["TCON"][0] == "Other" tags = ID3(filename, load_v1=False) assert "TCON" not in tags finally: os.unlink(filename)
def test_load_v1_v2_tcon_translate(self): tags = ID3() tags.add(TCON(text=["12"])) v1_data = MakeID3v1(tags) filename = get_temp_copy(self.empty) try: tags = ID3() tags.save(filename=filename, v1=0) with open(filename, "ab") as h: h.write(v1_data) tags = ID3(filename, load_v1=True) assert tags["TCON"][0] == "Other" tags = ID3(filename, load_v1=False) assert "TCON" not in tags finally: os.unlink(filename)
def setUp(self): self.NEW = get_temp_copy(self.TOO_SHORT)
def setUp(self): self.NEW = get_temp_copy(self.SAMPLE) self.flac = FLAC(self.NEW)
def setUp(self): self.filename = get_temp_copy(self.original)
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, "empty.spx")) self.audio = self.Kind(self.filename)
def setUp(self): self.silence = os.path.join(DATA_DIR, 'silence-44-s.mp3') self.newsilence = get_temp_copy(self.silence)
def setUp(self): self.filename = get_temp_copy(self.original) self.audio = ASF(self.filename)
def setUp(self): self.filename = get_temp_copy(OLD) self.audio = APEv2(self.filename)
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, 'emptyfile.mp3')) self.id3 = EasyID3() self.realid3 = self.id3._EasyID3__id3
def setUp(self): self.vorbis = File(os.path.join(DATA_DIR, "empty.ogg")) filename = get_temp_copy(os.path.join(DATA_DIR, "xing.mp3")) self.mp3_notags = File(filename) self.mp3_filename = filename
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, 'silence-44-s.mp3'))
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "97-unknown-23-update.mp3"))
def setUp(self): self.filename = get_temp_copy(self.PATH) self.audio = self.KIND(self.filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.flac"))
def setUp(self): self.NEW = get_temp_copy(self.SAMPLE) self.flac = FLAC(self.NEW)
def setUp(self): self.filename = get_temp_copy(self.original) audio = ASF(self.filename) audio.clear() audio.save()
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, "example.opus")) self.audio = self.Kind(self.filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.mp3")) self.mp3 = EasyMP3(self.filename)
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, 'emptyfile.mp3')) self.id3 = EasyID3() self.realid3 = self.id3._EasyID3__id3
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, 'bad-POPM-frame.mp3'))
def setUp(self): self.NEW = get_temp_copy(self.TOO_SHORT)
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, "click.mpc"))
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.flac"))
def setUp(self): self.filename = get_temp_copy(self.original) self.audio = MP4(self.filename)
def setUp(self): self.vorbis = File(os.path.join(DATA_DIR, "empty.ogg")) filename = get_temp_copy(os.path.join(DATA_DIR, "xing.mp3")) self.mp3_notags = File(filename) self.mp3_filename = filename
def setUp(self): self.filename = get_temp_copy(self.original)
def setUp(self): self.filename = get_temp_copy(os.path.join(DATA_DIR, "click.mpc"))
def setUp(self): self.filename = get_temp_copy(self.PATH) self.audio = self.KIND(self.filename)
def setUp(self): self.filename = get_temp_copy( os.path.join(DATA_DIR, "silence-44-s.mp3")) self.audio = ID3(self.filename)
def setUp(self): super(TMid3Iconv, self).setUp() self.filename = get_temp_copy( os.path.join(DATA_DIR, fsn(u'silence-44-s.mp3')))