Beispiel #1
0
    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()
Beispiel #2
0
    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()
Beispiel #3
0
    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())
Beispiel #4
0
    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())
Beispiel #5
0
    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()
Beispiel #6
0
    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()