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

Anthony Baxter anthonybaxter@users.sourceforge.net
2001年12月04日 22:46:19 -0800


Update of /cvsroot/python/python/dist/src/Lib
In directory usw-pr-cvs1:/tmp/cvs-serv4876
Modified Files:
 Tag: release21-maint
	zipfile.py 
Log Message:
backport 1.15
Make sure path names inserted into ZIP files are normalized to use "/" as
the directory separator, as required by the format specification.
This closes SF bug #440693.
Index: zipfile.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/zipfile.py,v
retrieving revision 1.13
retrieving revision 1.13.2.1
diff -C2 -d -r1.13 -r1.13.2.1
*** zipfile.py	2001年04月14日 16:45:14	1.13
--- zipfile.py	2001年12月05日 06:46:16	1.13.2.1
***************
*** 90,94 ****
 
 def __init__(self, filename="NoName", date_time=(1980,1,1,0,0,0)):
! self.filename = filename # Name of the file in the archive
 self.date_time = date_time # year, month, day, hour, min, sec
 # Standard values:
--- 90,94 ----
 
 def __init__(self, filename="NoName", date_time=(1980,1,1,0,0,0)):
! self.filename = _normpath(filename) # Name of the file in the archive
 self.date_time = date_time # year, month, day, hour, min, sec
 # Standard values:
***************
*** 129,132 ****
--- 129,143 ----
 len(self.filename), len(self.extra))
 return header + self.filename + self.extra
+ 
+ 
+ # This is used to ensure paths in generated ZIP files always use
+ # forward slashes as the directory separator, as required by the
+ # ZIP format specification.
+ if os.sep != "/":
+ def _normpath(path):
+ return path.replace(os.sep, "/")
+ else:
+ def _normpath(path):
+ return path
 
 

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