def test_update_parents(self): file = open(self.filename) atoms = Atoms(file) self.assertEqual(77, atoms.atoms[0].length) self.assertEqual(61, atoms.atoms[0].children[0].length) tags = MP4Tags(atoms, file) tags['pgap'] = True tags.save(self.filename) file = open(self.filename) atoms = Atoms(file) # original size + 'pgap' size + padding self.assertEqual(77 + 25 + 974, atoms.atoms[0].length) self.assertEqual(61 + 25 + 974, atoms.atoms[0].children[0].length)
def load(self, fp): self.filename = fp.name fileobj = fp try: atoms = Atoms(fileobj) try: self.info = MP4Info(atoms, fileobj) except StandardError, err: raise MP4StreamInfoError, err, sys.exc_info()[2] try: self.tags = MP4Tags(atoms, fileobj) except MP4MetadataError: self.tags = None except StandardError, err: raise MP4MetadataError, err, sys.exc_info()[2]
def test_extra_trailing_data(self): data = StringIO(Atom.render("data", "whee") + "\x00\x00") self.failUnless(Atoms(data))
def setUp(self): self.atoms = Atoms(open(self.filename, "rb"))
def wrap_ilst(self, data): ilst = Atom.render("ilst", data) meta = Atom.render("meta", "\x00" * 4 + ilst) data = Atom.render("moov", Atom.render("udta", meta)) fileobj = StringIO(data) return MP4Tags(Atoms(fileobj), fileobj)