예제 #1
0
    def tag_test(self, f):
        size = filesize(f)
        self.assertEqual(False, ApeTag.hasapetag(f))
        self.assertEqual(size, filesize(f))
        self.assertEqual(False, ApeTag.hasid3tag(f))
        self.assertEqual(size, filesize(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size, filesize(f))

        self.assertEqual(0, ApeTag.deleteape(f))
        self.assertEqual(size, filesize(f))
        self.assertEqual(0, ApeTag.deleteid3(f))
        self.assertEqual(size, filesize(f))
        self.assertEqual(0, ApeTag.deletetags(f))
        self.assertEqual(size, filesize(f))
        
        self.assertRaises(ApeTag.TagError, ApeTag.getrawape, f)
        self.assertRaises(ApeTag.TagError, ApeTag.getrawid3, f)
        self.assertRaises(ApeTag.TagError, ApeTag.getrawtags, f)
        self.assertRaises(ApeTag.TagError, ApeTag.printapetag, f)
        self.assertRaises(ApeTag.TagError, ApeTag.printid3tag, f)
        self.assertRaises(ApeTag.TagError, ApeTag.printtags, f)
        self.assertRaises(ApeTag.TagError, ApeTag.updateape, f)
        self.assertRaises(ApeTag.TagError, ApeTag.updateid3, f)
        self.assertRaises(ApeTag.TagError, ApeTag.updatetags, f)
        
        self.assertEqual({}, ApeTag.createape(f, {}))
        self.assertEqual({}, ApeTag.getapefields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(False, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+64, filesize(f))
        self.assertEqual(EMPTY_APE_TAG[:64], ApeTag.getrawape(f))
        self.assertEqual(0, ApeTag.deleteape(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual(EMPTY_ID3_FIELDS, ApeTag.createid3(f, {}))
        self.assertEqual(EMPTY_ID3_FIELDS, ApeTag.getid3fields(f))
        self.assertEqual(False, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+128, filesize(f))
        self.assertEqual(EMPTY_APE_TAG[64:], ApeTag.getrawid3(f))
        self.assertEqual(0, ApeTag.deleteid3(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual({}, ApeTag.createtags(f, {}))
        self.assertEqual(({},EMPTY_ID3_FIELDS), ApeTag.gettagfields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(True, ApeTag.hastags(f))
        self.assertEqual(size+192, filesize(f))
        self.assertEqual((EMPTY_APE_TAG[:64], EMPTY_APE_TAG[64:]), ApeTag.getrawtags(f))
        self.assertEqual(0, ApeTag.deletetags(f))
        self.assertEqual(size, filesize(f))
        
        
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createape(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.getapefields(f))
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createape(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(False, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+208, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG[:-128], ApeTag.getrawape(f))
        self.assertEqual(0, ApeTag.deleteape(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.createid3(f, EXAMPLE_ID3_FIELDS))
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.getid3fields(f))
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.createid3(f, EXAMPLE_ID3_FIELDS))
        self.assertEqual(False, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+128, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG[-128:], ApeTag.getrawid3(f))
        self.assertEqual(0, ApeTag.deleteid3(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createtags(f, EXAMPLE_APE_FIELDS))
        self.assertEqual((EXAMPLE_APE_FIELDS,EXAMPLE_ID3_FIELDS), ApeTag.gettagfields(f))
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createtags(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(True, ApeTag.hastags(f))
        self.assertEqual(size+336, filesize(f))
        self.assertEqual((EXAMPLE_APE_TAG[:-128], EXAMPLE_APE_TAG[-128:]), ApeTag.getrawtags(f))
        self.assertEqual(0, ApeTag.deletetags(f))
        self.assertEqual(size, filesize(f))
        
        
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createape(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(EXAMPLE_APE_FIELDS2, ApeTag.updateape(f, {'Blah':'Blah'}, ['Track', 'Title']))
        self.assertEqual(EXAMPLE_APE_FIELDS2, ApeTag.getapefields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(False, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+185, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG2[:-128], ApeTag.getrawape(f))
            
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.replaceape(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.getapefields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(False, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+208, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG[:-128], ApeTag.getrawape(f))
        self.assertEqual(EXAMPLE_APE_FIELDS2, ApeTag.updateape(f, {'Blah':'Blah'}, ['track', 'title']))
        self.assertEqual(EXAMPLE_APE_TAG2[:-128], ApeTag.getrawape(f))
        self.assertEqual(0, ApeTag.deleteape(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.createid3(f, EXAMPLE_ID3_FIELDS))
        self.assertEqual(EXAMPLE_ID3_FIELDS2, ApeTag.updateid3(f, {'Track':0, 'Title':''}))
        self.assertEqual(EXAMPLE_ID3_FIELDS2, ApeTag.getid3fields(f))
        self.assertEqual(False, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+128, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG2[-128:], ApeTag.getrawid3(f))
            
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.replaceid3(f, EXAMPLE_ID3_FIELDS))
        self.assertEqual(EXAMPLE_ID3_FIELDS, ApeTag.getid3fields(f))
        self.assertEqual(False, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(False, ApeTag.hastags(f))
        self.assertEqual(size+128, filesize(f))
        self.assertEqual(EXAMPLE_APE_TAG[-128:], ApeTag.getrawid3(f))
        self.assertEqual(0, ApeTag.deleteid3(f))
        self.assertEqual(size, filesize(f))
        
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.createtags(f, EXAMPLE_APE_FIELDS))
        self.assertEqual(EXAMPLE_APE_FIELDS2, ApeTag.updatetags(f, {'Blah':'Blah'}, ['Track', 'Title']))
        self.assertEqual((EXAMPLE_APE_FIELDS2, EXAMPLE_ID3_FIELDS2), ApeTag.gettagfields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(True, ApeTag.hastags(f))
        self.assertEqual(size+313, filesize(f))
        self.assertEqual((EXAMPLE_APE_TAG2[:-128], EXAMPLE_APE_TAG2[-128:]), ApeTag.getrawtags(f))
            
        self.assertEqual(EXAMPLE_APE_FIELDS, ApeTag.replacetags(f, EXAMPLE_APE_FIELDS))
        self.assertEqual((EXAMPLE_APE_FIELDS, EXAMPLE_ID3_FIELDS), ApeTag.gettagfields(f))
        self.assertEqual(True, ApeTag.hasapetag(f))
        self.assertEqual(True, ApeTag.hasid3tag(f))
        self.assertEqual(True, ApeTag.hastags(f))
        self.assertEqual(size+336, filesize(f))
        self.assertEqual((EXAMPLE_APE_TAG[:-128], EXAMPLE_APE_TAG[-128:]), ApeTag.getrawtags(f))
        self.assertEqual(EXAMPLE_APE_FIELDS2, ApeTag.updatetags(f, {'Blah':'Blah'}, ['track', 'title']))
        self.assertEqual((EXAMPLE_APE_TAG2[:-128], EXAMPLE_APE_TAG2[-128:]), ApeTag.getrawtags(f))
        self.assertEqual(0, ApeTag.deletetags(f))
        self.assertEqual(size, filesize(f))
예제 #2
0
    def test_parse(self):
        self.assertEquals({}, ApeTag.getapefields("good-empty.tag"))
        self.assertEquals({'name': ['value']}, ApeTag.getapefields("good-simple-1.tag"))
        #self.assertEquals(['value'], ApeTag.getapefields("good-simple-1.tag")['Name'])

        self.assertEquals(63, len(ApeTag.getapefields("good-many-items.tag")))
        self.assertEquals([''], ApeTag.getapefields("good-many-items.tag")['0n'])
        self.assertEquals(['a'], ApeTag.getapefields("good-many-items.tag")['1n'])
        self.assertEquals(['a' * 62], ApeTag.getapefields("good-many-items.tag")['62n'])

        self.assertEquals({'name': ['va', 'ue']}, ApeTag.getapefields("good-multiple-values.tag"))

        self.assertEquals('name', ApeTag.getapefields("good-simple-1.tag")['name'].key)
        self.assertEquals('utf8', ApeTag.getapefields("good-simple-1.tag")['name'].type)
        self.assertEquals(False, ApeTag.getapefields("good-simple-1.tag")['name'].readonly)
        
        self.assertEquals('name', ApeTag.getapefields("good-simple-1-ro-external.tag")['name'].key)
        self.assertEquals(['value'], ApeTag.getapefields("good-simple-1.tag")['name'])
        self.assertEquals('external', ApeTag.getapefields("good-simple-1-ro-external.tag")['name'].type)
        self.assertEquals(True, ApeTag.getapefields("good-simple-1-ro-external.tag")['name'].readonly)
        
        self.assertEquals('name', ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'].key)
        self.assertEquals(['v\x81lue'], ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'])
        self.assertEquals('binary', ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'].type)
        self.assertEquals(False, ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'].readonly)

        self.assertEquals({'name': ['value']}, ApeTag.getapefields(file("good-simple-1.tag")))
예제 #3
0
 def corrupt(self, filename, msg):
     self._assertTagErrorRaised(
         msg, lambda: ApeTag.getapefields(filename + '.tag'))
예제 #4
0
 def corrupt(self, filename, msg):
     self._assertTagErrorRaised(msg, lambda: ApeTag.getapefields(filename + '.tag'))
예제 #5
0
    def test_parse(self):
        self.assertEquals({}, ApeTag.getapefields("good-empty.tag"))
        self.assertEquals({'name': ['value']},
                          ApeTag.getapefields("good-simple-1.tag"))
        #self.assertEquals(['value'], ApeTag.getapefields("good-simple-1.tag")['Name'])

        self.assertEquals(63, len(ApeTag.getapefields("good-many-items.tag")))
        self.assertEquals([''],
                          ApeTag.getapefields("good-many-items.tag")['0n'])
        self.assertEquals(['a'],
                          ApeTag.getapefields("good-many-items.tag")['1n'])
        self.assertEquals(['a' * 62],
                          ApeTag.getapefields("good-many-items.tag")['62n'])

        self.assertEquals({'name': ['va', 'ue']},
                          ApeTag.getapefields("good-multiple-values.tag"))

        self.assertEquals('name',
                          ApeTag.getapefields("good-simple-1.tag")['name'].key)
        self.assertEquals(
            'utf8',
            ApeTag.getapefields("good-simple-1.tag")['name'].type)
        self.assertEquals(
            False,
            ApeTag.getapefields("good-simple-1.tag")['name'].readonly)

        self.assertEquals(
            'name',
            ApeTag.getapefields("good-simple-1-ro-external.tag")['name'].key)
        self.assertEquals(['value'],
                          ApeTag.getapefields("good-simple-1.tag")['name'])
        self.assertEquals(
            'external',
            ApeTag.getapefields("good-simple-1-ro-external.tag")['name'].type)
        self.assertEquals(
            True,
            ApeTag.getapefields("good-simple-1-ro-external.tag")
            ['name'].readonly)

        self.assertEquals(
            'name',
            ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'].key)
        self.assertEquals(
            ['v\x81lue'],
            ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'])
        self.assertEquals(
            'binary',
            ApeTag.getapefields("good-binary-non-utf8-value.tag")['name'].type)
        self.assertEquals(
            False,
            ApeTag.getapefields("good-binary-non-utf8-value.tag")
            ['name'].readonly)

        self.assertEquals({'name': ['value']},
                          ApeTag.getapefields(file("good-simple-1.tag")))