Commit 59202e5f authored by Christian Tismer's avatar Christian Tismer

add a filterfunc to zip file.PyZipFile.writepy, issue 19274

parent 47f1b762
...@@ -382,7 +382,10 @@ The :class:`PyZipFile` constructor takes the same parameters as the ...@@ -382,7 +382,10 @@ The :class:`PyZipFile` constructor takes the same parameters as the
Instances have one method in addition to those of :class:`ZipFile` objects: Instances have one method in addition to those of :class:`ZipFile` objects:
.. method:: PyZipFile.writepy(pathname, basename='') .. method:: PyZipFile.writepy(pathname, basename='', filterfunc=None)
.. versionadded:: 3.4
The *filterfunc* parameter.
Search for files :file:`\*.py` and add the corresponding file to the Search for files :file:`\*.py` and add the corresponding file to the
archive. archive.
...@@ -404,7 +407,10 @@ The :class:`PyZipFile` constructor takes the same parameters as the ...@@ -404,7 +407,10 @@ The :class:`PyZipFile` constructor takes the same parameters as the
package directory, then all :file:`\*.py[co]` are added under the package package directory, then all :file:`\*.py[co]` are added under the package
name as a file path, and if any subdirectories are package directories, name as a file path, and if any subdirectories are package directories,
all of these are added recursively. *basename* is intended for internal all of these are added recursively. *basename* is intended for internal
use only. The :meth:`writepy` method makes archives with file names like use only. When *filterfunc(pathname)* is given, it will be called for every
invocation. When it returns a False value, that path and its subpaths will
be ignored.
The :meth:`writepy` method makes archives with file names like
this:: this::
string.pyc # Top level name string.pyc # Top level name
......
...@@ -564,6 +564,16 @@ Add an event-driven parser for non-blocking applications, ...@@ -564,6 +564,16 @@ Add an event-driven parser for non-blocking applications,
(Contributed by Antoine Pitrou in :issue:`17741`.) (Contributed by Antoine Pitrou in :issue:`17741`.)
zipfile.PyZipfile
-----------------
Add a filter function to ignore some packages (tests for instance),
:meth:`~zipfile.PyZipFile.writepy`.
(Contributed by Christian Tismer in :issue:`19274`.)
Other improvements Other improvements
================== ==================
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment