def test_change_tag(self): ogg = OggVorbis(self.temp_ogg) self.tags = ogg.get_tags() self.tags['ALBUM'] = 'aaa' ogg.write_tags(self.tags) self.assert_new_tags()
def test_write_many_tags(self): """Write 255 tags with length of 255, to complete fill a ogg page and force to create a new ogg page. """ ogg = OggVorbis(self.temp_ogg) self.tags = {} keys = [ ''.join(tup) for tup in ( list(itertools.product(string.ascii_lowercase[:16], repeat=2))) ] for key in keys: self.tags[key] = 'a' * 255 #tags = utils.tag_dict(tags) ogg.write_tags(self.tags) #import ipdb; ipdb.set_trace() new_tags = OggVorbisReader(self.temp_ogg).get_tags() self.assertEqual(new_tags, self.tags) with open(self.ogg_path, 'rb') as old,\ open(self.temp_ogg, 'rb') as new: ogg_old = OggPage(old) ogg_new = OggPage(new) self.assertEqual(ogg_old.crc, ogg_new.crc) while not ogg_old.is_last_page(): ogg_old.next_page() ogg_new.next_page() self.assertNotEqual(ogg_old.crc, ogg_new.crc) self.assertFalse(ogg_new.is_last_page()) ogg_new.next_page() self.assertTrue(ogg_new.is_last_page())
def test_write_many_tags(self): """Write 255 tags with length of 255, to complete fill a ogg page and force to create a new ogg page. """ ogg = OggVorbis(self.temp_ogg) self.tags = {} keys = [''.join(tup) for tup in (list(itertools.product( string.ascii_lowercase[:16], repeat=2)))] for key in keys: self.tags[key] = 'a'*255 #tags = utils.tag_dict(tags) ogg.write_tags(self.tags) #import ipdb; ipdb.set_trace() new_tags = OggVorbisReader(self.temp_ogg).get_tags() self.assertEqual(new_tags, self.tags) with open(self.ogg_path, 'rb') as old,\ open(self.temp_ogg, 'rb') as new: ogg_old = OggPage(old) ogg_new = OggPage(new) self.assertEqual(ogg_old.crc, ogg_new.crc) while not ogg_old.is_last_page(): ogg_old.next_page() ogg_new.next_page() self.assertNotEqual(ogg_old.crc, ogg_new.crc) self.assertFalse(ogg_new.is_last_page()) ogg_new.next_page() self.assertTrue(ogg_new.is_last_page())
def test_write_same_tags(self): ogg = OggVorbis(self.temp_ogg) self.tags = ogg.get_tags() ogg.write_tags(self.tags) self.assert_new_tags()