Mercurial > ~astiob > upreckon > hgweb
comparison zipfiles/zipfile32.py @ 183:8196d2c0d6f8
Updated zipfiles for Python 3.2.1
author | Oleg Oshmyan <chortos@inbox.lv> |
---|---|
date | Thu, 14 Jul 2011 18:52:18 +0300 |
parents | 45d4a9dc707b |
children |
comparison
equal
deleted
inserted
replaced
180:760d38ee86d6 | 183:8196d2c0d6f8 |
---|---|
251 start = data.rfind(stringEndArchive) | 251 start = data.rfind(stringEndArchive) |
252 if start >= 0: | 252 if start >= 0: |
253 # found the magic number; attempt to unpack and interpret | 253 # found the magic number; attempt to unpack and interpret |
254 recData = data[start:start+sizeEndCentDir] | 254 recData = data[start:start+sizeEndCentDir] |
255 endrec = list(struct.unpack(structEndArchive, recData)) | 255 endrec = list(struct.unpack(structEndArchive, recData)) |
256 comment = data[start+sizeEndCentDir:] | 256 commentSize = endrec[_ECD_COMMENT_SIZE] #as claimed by the zip file |
257 # check that comment length is correct | 257 comment = data[start+sizeEndCentDir:start+sizeEndCentDir+commentSize] |
258 if endrec[_ECD_COMMENT_SIZE] == len(comment): | 258 endrec.append(comment) |
259 # Append the archive comment and start offset | 259 endrec.append(maxCommentStart + start) |
260 endrec.append(comment) | 260 |
261 endrec.append(maxCommentStart + start) | 261 # Try to read the "Zip64 end of central directory" structure |
262 | 262 return _EndRecData64(fpin, maxCommentStart + start - filesize, |
263 # Try to read the "Zip64 end of central directory" structure | 263 endrec) |
264 return _EndRecData64(fpin, maxCommentStart + start - filesize, | |
265 endrec) | |
266 | 264 |
267 # Unable to find a valid end of central directory structure | 265 # Unable to find a valid end of central directory structure |
268 return | 266 return |
269 | 267 |
270 | 268 |