root/rarfile.patch
| Revision 1, 1.3 kB (checked in by jmoiron, 2 years ago) |
|---|
-
rarfile.py
old new 389 389 # put file compressed data into temporary .rar archive, and run 390 390 # unrar on that, thus avoiding unrar going over whole archive 391 391 def _extract_hack(self, inf): 392 from tempfile import mkstemp 392 393 BSIZE = 32*1024 393 394 394 395 size = inf.compress_size + inf.header_size 395 396 rf = open(self.rarfile, "rb") 396 397 rf.seek(inf.header_offset) 397 tmp name = os.tempnam() + ".rar"398 tmpf = o pen(tmpname, "wb")398 tmpfd,tmpname = mkstemp(suffix='.rar') 399 tmpf = os.fdopen(tmpfd, "wb") 399 400 400 401 # create main header: crc, type, flags, size, res1, res2 401 402 mh = pack("<HBHHHL", 0x90CF, 0x73, 0, 13, 0, 0) … … 409 410 tmpf.write(buf) 410 411 size -= len(buf) 411 412 tmpf.close() 412 413 413 414 buf = self._extract_unrar(tmpname, inf) 414 415 os.unlink(tmpname) 415 416 return buf … … 478 479 self.put(self.std_byte(), 0) 479 480 return self.buf.getvalue().decode("utf-16le", "replace") 480 481 481 # ignore os.tempnam() warning482 try:483 import warnings484 warnings.filterwarnings(action = 'ignore', category = RuntimeWarning,485 module = 'rarfile')486 except Exception, det:487 pass488
Note: See TracBrowser for help on using the browser.
