[Python-checkins] CVS: python/dist/src/Lib zipfile.py,1.10,1.11

Tim Peters tim_one@users.sourceforge.net
2001年4月04日 11:56:51 -0700


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv5351/python/dist/src/Lib
Modified Files:
	zipfile.py 
Log Message:
Sf bug [ #412214 ] ZipFile constructor leaves files open.
This applies the patch Fred Drake created to fix it.
I'm checking it in since I had to apply the patch anyway in order
to test its behavior on Windows.
Index: zipfile.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/zipfile.py,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** zipfile.py	2001年03月29日 04:36:08	1.10
--- zipfile.py	2001年04月04日 18:56:49	1.11
***************
*** 187,193 ****
--- 187,207 ----
 fp.seek(0, 2)
 else:
+ if not self._filePassed:
+ self.fp.close()
+ self.fp = None
 raise RuntimeError, 'Mode must be "r", "w" or "a"'
 
 def _GetContents(self):
+ """Read the directory, making sure we close the file if the format
+ is bad."""
+ try:
+ self._RealGetContents()
+ except BadZipfile:
+ if not self._filePassed:
+ self.fp.close()
+ self.fp = None
+ raise
+ 
+ def _RealGetContents(self):
 """Read in the table of contents for the ZIP file."""
 fp = self.fp

AltStyle によって変換されたページ (->オリジナル) /