summaryrefslogtreecommitdiffstats
path: root/Lib/zipfile.py
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2014-01-20 19:57:40 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2014-01-20 19:57:40 (GMT)
commit9b7a1a1af6de71411102e2b95ee3f654cb0cc700 (patch)
tree6640cddb13dc6c0da47373049956699fd3bdce06 /Lib/zipfile.py
parent7e52705ee362001a8761461e9c4d49e3873568e0 (diff)
downloadcpython-9b7a1a1af6de71411102e2b95ee3f654cb0cc700.zip
cpython-9b7a1a1af6de71411102e2b95ee3f654cb0cc700.tar.gz
cpython-9b7a1a1af6de71411102e2b95ee3f654cb0cc700.tar.bz2
Issue #20262: Warnings are raised now when duplicate names are added in the
ZIP file or too long ZIP file comment is truncated.
Diffstat (limited to 'Lib/zipfile.py')
-rw-r--r--Lib/zipfile.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/Lib/zipfile.py b/Lib/zipfile.py
index a1b3414..ff64c90 100644
--- a/Lib/zipfile.py
+++ b/Lib/zipfile.py
@@ -1102,10 +1102,10 @@ class ZipFile:
if not isinstance(comment, bytes):
raise TypeError("comment: expected bytes, got %s" % type(comment))
# check for valid comment length
- if len(comment) >= ZIP_MAX_COMMENT:
- if self.debug:
- print('Archive comment is too long; truncating to %d bytes'
- % ZIP_MAX_COMMENT)
+ if len(comment) > ZIP_MAX_COMMENT:
+ import warnings
+ warnings.warn('Archive comment is too long; truncating to %d bytes'
+ % ZIP_MAX_COMMENT, stacklevel=2)
comment = comment[:ZIP_MAX_COMMENT]
self._comment = comment
self._didModify = True
@@ -1290,8 +1290,8 @@ class ZipFile:
def _writecheck(self, zinfo):
"""Check for errors before writing a file to the archive."""
if zinfo.filename in self.NameToInfo:
- if self.debug: # Warning for duplicate names
- print("Duplicate name:", zinfo.filename)
+ import warnings
+ warnings.warn('Duplicate name: %r' % zinfo.filename, stacklevel=3)
if self.mode not in ("w", "a"):
raise RuntimeError('write() requires mode "w" or "a"')
if not self.fp: