Commit Graph

194 Commits

Author SHA1 Message Date
Serhiy Storchaka 8c9331057d Issue #28115: Command-line interface of the zipfile module now uses argparse.
Added support of long options.
2016-10-23 13:32:12 +03:00
Serhiy Storchaka 89ecb4ac10 Issue #28115: Added tests for CLI of the zipfile module. 2016-10-23 13:12:39 +03:00
Serhiy Storchaka 61c4c44b2a Issue #28115: Added tests for CLI of the zipfile module. 2016-10-23 13:07:59 +03:00
Serhiy Storchaka 242c170f87 Issue #26293: Fixed writing ZIP files that starts not from the start of the
file.  Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.
2016-10-07 22:24:20 +03:00
Serhiy Storchaka 8793b21525 Issue #26293: Fixed writing ZIP files that starts not from the start of the
file.  Offsets in ZIP file now are relative to the start of the archive in
conforming to the specification.
2016-10-07 22:20:50 +03:00
Serhiy Storchaka b0d497c072 Issue #24693: Changed some RuntimeError's in the zipfile module to more
appropriate types. Improved some error messages and debugging output.
2016-09-10 21:28:07 +03:00
Serhiy Storchaka e670be2273 Issue #27029: Removed deprecated support of universal newlines mode from ZipFile.open(). 2016-06-11 19:32:44 +03:00
Serhiy Storchaka 91762da45b Restored test_interleaved. After issue #8886 it was a duplicate of
test_different_file.
2016-05-13 21:19:22 +03:00
Serhiy Storchaka d76c7c2bed Restored test_interleaved. After issue #8886 it was a duplicate of
test_different_file.
2016-05-13 21:18:58 +03:00
Serhiy Storchaka 18ee29d0b8 Issue #26039: zipfile.ZipFile.open() can now be used to write data into a ZIP
file, as well as for extracting data.  Patch by Thomas Kluyver.
2016-05-13 13:52:49 +03:00
Berker Peksag 1e8ee9b380 Issue #23277: Remove unused sys and os imports
Patch by Jon Dufresne.
2016-04-24 07:31:42 +03:00
Serhiy Storchaka 503f908090 Issue #26039: Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir().
Patch by Thomas Kluyver.
2016-02-08 00:02:25 +02:00
Serhiy Storchaka f2d7ea1af1 Issue #25101: Try to create a file to test write access in test_zipfile. 2015-09-19 10:59:48 +03:00
Serhiy Storchaka d86a6ef41c Issue #25101: Try to create a file to test write access in test_zipfile. 2015-09-19 10:55:20 +03:00
Larry Hastings 8093254597 Merge from 3.4. 2015-05-08 06:58:56 -07:00
Larry Hastings 7e63b36f7f Issue #21520: test_zipfile no longer fails if the word 'bad' appears
anywhere in the name of the current directory.
2015-05-08 06:54:58 -07:00
Brett Cannon f299abdafa Issue #23731: Implement PEP 488.
The concept of .pyo files no longer exists. Now .pyc files have an
optional `opt-` tag which specifies if any extra optimizations beyond
the peepholer were applied.
2015-04-13 14:21:02 -04:00
Serhiy Storchaka 764fc9bfac Issue #21717: The zipfile.ZipFile.open function now supports 'x' (exclusive
creation) mode.
2015-03-25 10:09:41 +02:00
Serhiy Storchaka 77d899726f Issue #23252: Added support for writing ZIP files to unseekable streams. 2015-03-23 01:09:35 +02:00
Berker Peksag a9e2c8ecd6 Issue #17753: effective_ids unavailable on Windows. 2015-02-16 04:36:43 +02:00
Berker Peksag e1efc07a30 Issue #17753: effective_ids unavailable on Windows. 2015-02-16 04:36:18 +02:00
Serhiy Storchaka 2307287c92 Issue #17753: Skip test_zipfile tests which require write access to test
and email.test.
2015-02-14 23:06:42 +02:00
Serhiy Storchaka db724fe994 Issue #17753: Skip test_zipfile tests which require write access to test
and email.test.
2015-02-14 23:04:35 +02:00
Serhiy Storchaka a14f7d239f Issue #14099: Restored support of writing ZIP files to tellable but
non-seekable streams.
2015-01-26 14:01:27 +02:00
Serhiy Storchaka b76bcc4ffc Issue #14099: Backout changeset e5bb3044402b (except adapted tests). 2015-01-26 13:45:39 +02:00
Serhiy Storchaka 1ad088f3ea Issue #14099: ZipFile.open() no longer reopen the underlying file. Objects
returned by ZipFile.open() can now operate independently of the ZipFile even
if the ZipFile was created by passing in a file-like object as the first
argument to the constructor.
2014-12-03 09:11:57 +02:00
Serhiy Storchaka f4adbae927 Issue #14099: ZipFile.open() no longer reopen the underlying file. Objects
returned by ZipFile.open() can now operate independently of the ZipFile even
if the ZipFile was created by passing in a file-like object as the first
argument to the constructor.
2014-12-03 09:14:36 +02:00
Serhiy Storchaka 51a43703af Issue #22217: Implemented reprs of classes in the zipfile module. 2014-10-29 22:42:06 +02:00
Serhiy Storchaka 46a34924e4 Issue #20912: Now directories added to ZIP file have correct Unix and MS-DOS
directory attributes.
2014-09-23 22:40:23 +03:00
Serhiy Storchaka 026a399bf9 Fixed test_large_file_exception. Ported tests for large count of files
to AbstractTestZip64InSmallFiles.
2014-09-23 22:27:34 +03:00
Victor Stinner 88b215e20f Issue #21440: test_zipfile: replace last direct calls to os.remove() with
support.unlink()
2014-09-04 00:51:09 +02:00
Victor Stinner 57004c696a Issue #21440: Backport changeset 4ebf97299b18 to branch 3.4, use
support.rmtree() and support.unlink() in test_zipfile & test_tarfile
2014-09-04 00:49:01 +02:00
Gregory P. Smith 0af8a86be8 Fix issue #14315: The zipfile module now ignores extra fields in the central
directory that are too short to be parsed instead of letting a struct.unpack
error bubble up as this "bad data" appears in many real world zip files in the
wild and is ignored by other zip tools.
2014-05-29 23:42:14 -07:00
Serhiy Storchaka c46d1faa4a Issue #20262: Warnings are raised now when duplicate names are added in the
ZIP file or too long ZIP file comment is truncated.
2014-01-20 21:59:33 +02:00
Serhiy Storchaka 9b7a1a1af6 Issue #20262: Warnings are raised now when duplicate names are added in the
ZIP file or too long ZIP file comment is truncated.
2014-01-20 21:57:40 +02:00
Serhiy Storchaka 69fdbf9cb0 Issue #20078: Reading malformed zipfiles no longer hangs with 100% CPU
consumption.
2014-01-09 14:53:41 +02:00
Serhiy Storchaka 5ce3f10aee Issue #20078: Reading malformed zipfiles no longer hangs with 100% CPU
consumption.
2014-01-09 14:50:20 +02:00
Serhiy Storchaka 2480c2ed59 Issue #15204: Silence and check the 'U' mode deprecation warnings in tests.
Changed deprecation message in the fileinput module.
2013-11-24 23:13:26 +02:00
Serhiy Storchaka 235c5e0dd6 Issue #17201: ZIP64 extensions now are enabled by default.
Patch by William Mallard.
2013-11-23 15:55:38 +02:00
Christian Tismer 410d931a17 add filtering of individual files to PyZipFile
changed output of debug messages to say "path" or "file"
extended test for filtering  certain files in a package
added test for filtering files in a python dir (no package)
2013-10-22 04:09:28 +02:00
Georg Brandl a606542e95 #19274: use captured_stdout() in the test suite; add NEWS entry. 2013-10-21 08:29:29 +02:00
Christian Tismer 59202e5fc7 add a filterfunc to zip file.PyZipFile.writepy, issue 19274 2013-10-21 03:59:23 +02:00
Serhiy Storchaka ab25c7c011 Issue #19053: ZipExtFile.read1() with non-zero argument no more returns empty
bytes until end of data.
2013-09-27 22:14:31 +03:00
Serhiy Storchaka d2c07a58af Issue #19053: ZipExtFile.read1() with non-zero argument no more returns empty
bytes until end of data.
2013-09-27 22:11:57 +03:00
Serhiy Storchaka 9068e4d642 Issue #17944: test_zipfile now discoverable and uses subclassing to
generate tests for different compression types.  Fixed a bug with skipping
some tests due to use of exhausted iterators.
2013-07-22 21:02:14 +03:00
Serhiy Storchaka fa6bc29987 Issue #17944: test_zipfile now discoverable and uses subclassing to
generate tests for different compression types.  Fixed a bug with skipping
some tests due to use of exhausted iterators.
2013-07-22 21:00:11 +03:00
Brett Cannon b57a085c74 Issue #17177: Stop using imp in zipfile 2013-06-15 17:32:30 -04:00
Brett Cannon d5b4e1d891 Move test_zipfile to unittest.main() 2013-06-12 19:57:19 -04:00
Gregory P. Smith 7eca9624be Refactor recently added bugfix into more testable code by using a
method for windows file name sanitization.  Splits the unittest up
into several based on platform.
2013-02-03 00:37:36 -08:00
Gregory P. Smith 09aa752067 Refactor recently added bugfix into more testable code by using a
method for windows file name sanitization.  Splits the unittest up
into several based on platform.
2013-02-03 00:36:32 -08:00
Serhiy Storchaka fc23ec62a6 Fix the test for issue #6972.
Remove trailing dots on Windows.
2013-02-02 19:52:45 +02:00
Serhiy Storchaka 672671da47 Fix the test for issue #6972.
Remove trailing dots on Windows.
2013-02-02 19:51:37 +02:00
Serhiy Storchaka e5e6444497 Fix the test for issue #6972.
Remove trailing dots on Windows.
2013-02-02 19:50:59 +02:00
Gregory P. Smith ae42ec8004 Fixes Issue #6972: The zipfile module no longer overwrites files outside of
its destination path when extracting malicious zip files.
2013-02-01 11:35:00 -08:00
Gregory P. Smith 193e1be72d Fixes Issue #6972: The zipfile module no longer overwrites files outside of
its destination path when extracting malicious zip files.
2013-02-01 11:31:31 -08:00
Gregory P. Smith b47acbf46a Fixes Issue #6972: The zipfile module no longer overwrites files outside of
its destination path when extracting malicious zip files.
2013-02-01 11:22:43 -08:00
Serhiy Storchaka db58e15ee5 Issue #4844: ZipFile now raises BadZipFile when opens a ZIP file with an
incomplete "End of Central Directory" record.  Original patch by Guilherme
Polo and Alan McIntyre.
2013-01-31 15:30:36 +02:00
Serhiy Storchaka d72bfe9eb9 Issue #4844: ZipFile now raises BadZipFile when opens a ZIP file with an
incomplete "End of Central Directory" record.  Original patch by Guilherme
Polo and Alan McIntyre.
2013-01-31 15:29:20 +02:00
Serhiy Storchaka d2b1527f14 Issue #4844: ZipFile now raises BadZipFile when opens a ZIP file with an
incomplete "End of Central Directory" record.  Original patch by Guilherme
Polo and Alan McIntyre.
2013-01-31 15:27:07 +02:00
Serhiy Storchaka f7209225bb Issue #12004: Fix an internal error in PyZipFile when writing an invalid
Python file.  Patch by Ben Morgan.
2013-01-29 20:15:45 +02:00
Serhiy Storchaka c5b75db5de Issue #12004: Fix an internal error in PyZipFile when writing an invalid
Python file.  Patch by Ben Morgan.
2013-01-29 20:14:08 +02:00
Serhiy Storchaka 45c4375ea7 Issue #12004: Fix an internal error in PyZipFile when writing an invalid
Python file.  Patch by Ben Morgan.
2013-01-29 20:10:28 +02:00
Andrew Svetlov f7a17b48d7 Replace IOError with OSError (#16715) 2012-12-25 16:47:37 +02:00
Andrew Svetlov 5b89840d9c Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:26:36 +02:00
Andrew Svetlov 737fb89dd1 Issue #16714: use 'raise' exceptions, don't 'throw'.
Patch by Serhiy Storchaka.
2012-12-18 21:14:22 +02:00
Ezio Melotti 6a5fc4c443 #14313: zipfile now raises NotImplementedError when the compression type is unknown. 2012-11-18 13:20:36 +02:00
Antoine Pitrou f93b705bd0 Issue #9239: add tests for modifying zipfile comments in append mode. 2012-06-30 17:32:41 +02:00
Antoine Pitrou c399185fcc Issue #9239: add tests for modifying zipfile comments in append mode. 2012-06-30 17:31:37 +02:00
Martin v. Löwis 7fb79fcb64 Issue #14366: Support lzma compression in zip files.
Patch by Serhiy Storchaka.
2012-05-13 10:06:36 +02:00
Martin v. Löwis d099b56be7 Check extract_version when opening a zipfile. 2012-05-01 14:08:22 +02:00
Martin v. Löwis b3260f08cf Detect unsupported compression types. 2012-05-01 08:38:01 +02:00
Martin v. Löwis f6b16a4b50 Issue #14371: Support bzip2 in zipfile module.
Patch by Serhiy Storchaka.
2012-05-01 07:58:44 +02:00
R David Murray f50b38a11f Merge #14399: zipfile now correctly handles comments added to empty zipfiles.
Patch by Serhiy Storchaka.

This also moves the TypeError that results from trying to use a unicode
comment from the 'close' step to the point at which the comment is added to
the zipfile.
2012-04-12 18:44:58 -04:00
R David Murray 51804e9725 #14399: zipfile now correctly handles comments added to empty zipfiles.
Patch by Serhiy Storchaka.

This also moves the TypeError that results from trying to use a unicode
comment from the 'close' step to the point at which the comment is added to
the zipfile.
2012-04-12 18:44:42 -04:00
Senthil Kumaran 7e3062b320 default - Fix closes Issue6090 - Raise a ValueError, instead of failing with unrelated
exceptions, when a document with timestamp earlier than 1980 is provided to
zipfile. Patch contributed by  Petri Lehtinen.
2011-10-20 01:52:41 +08:00
Senthil Kumaran 29fa9d4d68 3.2 - Fix closes Issue6090 - Raise a ValueError, instead of failing with unrelated
exceptions, when a document with timestamp earlier than 1980 is provided to
zipfile. Patch contributed by  Petri Lehtinen.
2011-10-20 01:46:00 +08:00
R David Murray 51fcb811e3 Merge #10694: zipfile now ignores garbage at the end of a zipfile. 2011-06-09 15:52:31 -04:00
R David Murray 4fbb9dbd34 #10694: zipfile now ignores garbage at the end of a zipfile.
Original fix by 'rep', final patch (with tests) by Xuanji Li.
2011-06-09 15:50:51 -04:00
Ezio Melotti 975077a889 Refactor a few tests to use the new requires_zlib decorator. 2011-05-19 22:03:22 +03:00
Ezio Melotti d9a7c4b8e5 Skip test that requires zlib when zlib is not available. 2011-03-14 18:57:02 +02:00
Eric V. Smith 91f0359ee4 Skip test if zlib not present. Closes #11498. Patch by Natalia B. Bidart. 2011-03-14 11:57:16 -04:00
Georg Brandl 04480a8ae5 #10801: do not actually extract, just open() the files in the test zipfile. 2011-01-01 10:42:31 +00:00
Georg Brandl 5ba11de845 #10801: In zipfile, support different encodings for the header and the filenames. Patch by MvL, test by Eli Bendersky. 2011-01-01 10:09:32 +00:00
R. David Murray 8d855d8304 #4871: check that zipfile password is bytes, and give useful error message.
Previously passing a string in as the password would fail either with
an assertion error or a TypeError with a confusing error message.
Note that a string can't be accepted since zipfile has no way to
guess what encoding should be used to turn it into bytes.

Patch by Victor Stinner.
2010-12-21 21:53:37 +00:00
Georg Brandl 8334fd9285 Add an "optimize" parameter to compile() to control the optimization level, and provide an interface to it in py_compile, compileall and PyZipFile. 2010-12-04 10:26:46 +00:00
Łukasz Langa a9f054b423 zipfile: remove remaining ResourceWarnings 2010-11-23 00:15:02 +00:00
Brian Curtin 8fb9b868bd Fix #8886. Use context managers throughout the test. 2010-11-18 02:15:28 +00:00
Benjamin Peterson d285bdb443 start banging on zipfile's file leakiness 2010-10-31 17:57:22 +00:00
Georg Brandl 4d54088599 #7351: add more consistent exception name alias. 2010-10-28 06:42:33 +00:00
Georg Brandl 268e4d4cf3 #1710703: write zipfile structures also in the case of closing a new, but empty, archive. 2010-10-14 06:59:45 +00:00
Antoine Pitrou 6464d5ffdc Issue #9837: The read() method of ZipExtFile objects (as returned by
ZipFile.open()) could return more bytes than requested.
2010-09-12 14:51:20 +00:00
Antoine Pitrou 7c8bcb6f92 Issue #7467: when a file from a ZIP archive, its CRC is checked and a
BadZipfile error is raised if it doesn't match (as used to be the
case in Python 2.5 and earlier).
2010-08-12 15:11:50 +00:00
Barry Warsaw 28a691b7fd PEP 3147 2010-04-17 00:19:56 +00:00
Ronald Oussoren ee5c885fd2 Merged revisions 78097 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78097 | ronald.oussoren | 2010-02-07 21:18:02 +0100 (Sun, 07 Feb 2010) | 2 lines

  Issue 6003: ZipFile.writestr "compression_type" argument
........
2010-02-07 20:24:02 +00:00
Antoine Pitrou a32f9a24df Merged revisions 77798 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77798 | antoine.pitrou | 2010-01-27 21:59:50 +0100 (mer., 27 janv. 2010) | 8 lines

  Issue #7610: Reworked implementation of the internal
  :class:`zipfile.ZipExtFile` class used to represent files stored inside
  an archive.  The new implementation is significantly faster and can
  be wrapped in a :class:`io.BufferedReader` object for more speedups.
  It also solves an issue where interleaved calls to `read()` and
  `readline()` give wrong results.  Patch by Nir Aides.
........
2010-01-27 21:18:57 +00:00
Ezio Melotti e96159335f Merged revisions 77727 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77727 | ezio.melotti | 2010-01-24 18:58:36 +0200 (Sun, 24 Jan 2010) | 1 line

  use assert[Not]IsInstance where appropriate
........
2010-01-24 19:26:24 +00:00
Benjamin Peterson 577473fe68 use assert[Not]In where appropriate
A patch from Dave Malcolm.
2010-01-19 00:09:57 +00:00
Ezio Melotti 3538671fcc Merged revisions 77178 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77178 | ezio.melotti | 2009-12-31 15:00:43 +0200 (Thu, 31 Dec 2009) | 1 line

  cleanup and refactoring
........
2009-12-31 13:22:41 +00:00
Ezio Melotti faa6b7f421 Merged revisions 77136 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r77136 | ezio.melotti | 2009-12-30 08:14:51 +0200 (Wed, 30 Dec 2009) | 1 line

  #5511: Added the ability to use ZipFile as a context manager. Patch by Brian Curtin.
........
2009-12-30 12:34:59 +00:00
Ezio Melotti 78ea2023d8 Merged revisions 74754 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
  r74754 | ezio.melotti | 2009-09-12 17:43:43 +0300 (Sat, 12 Sep 2009) | 1 line

  #6026 - fix tests that failed without zlib
........
2009-09-12 18:41:20 +00:00