Mercurial > paraspace
comparison paraspace/dexfile.py @ 67:9504ad530dbf
Add DEXFile.make_checksum()
author | Thinker K.F. Li <thinker@codemud.net> |
---|---|
date | Wed, 29 Jun 2011 19:27:09 +0800 |
parents | fa44a8acba6a |
children | 9422a25e798d |
comparison
equal
deleted
inserted
replaced
66:fa44a8acba6a | 67:9504ad530dbf |
---|---|
1633 def children(self): | 1633 def children(self): |
1634 map_items = [self.block_defs[map_item.type] | 1634 map_items = [self.block_defs[map_item.type] |
1635 for map_item in self.maps.items.items] | 1635 for map_item in self.maps.items.items] |
1636 children = map_items | 1636 children = map_items |
1637 return children | 1637 return children |
1638 | |
1639 def make_checksum(self): | |
1640 from paraspace.tools import adler32 | |
1641 raw = self.to_str() | |
1642 sz = self.header.fileSize | |
1643 nosum = _DEX_header.magic.sizeof(self.header.magic) + \ | |
1644 _DEX_header.checksum.sizeof(self.header.checksum) | |
1645 checksum = adler32(0, raw, nosum, sz - nosum) | |
1646 self.header.checksum = checksum | |
1647 pass | |
1638 pass | 1648 pass |
1639 | 1649 |
1640 | 1650 |
1641 if __name__ == '__main__': | 1651 if __name__ == '__main__': |
1642 dex = DEXFile.open('data/testdata1.dex') | 1652 dex = DEXFile.open('data/testdata1.dex') |