[issue19274] make zipfile.PyZipFile more usable
Roundup Robot added the comment: New changeset 064ee489982e by R David Murray in branch 'default': whatsnew: improve PyZipFile filterfuc entry, and its docs (#19274). http://hg.python.org/cpython/rev/064ee489982e -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
R. David Murray added the comment: For future reference, the update Christian refers to in the previous message is 4f1121ae1cb5. -- nosy: +r.david.murray ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Georg Brandl added the comment: Hi Chris, your commit is a bit hard to review due to all the unrelated spacing changes. I assume this is done automatically by your editor? It's probably best to switch off that feature for CPython development :) -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Georg Brandl added the comment: While reviewing: is it intended that the filter is only called for directories and not for individual files? -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Roundup Robot added the comment: New changeset 2d39b3555951 by Georg Brandl in branch 'default': #19274: use captured_stdout() in the test suite; add NEWS entry. http://hg.python.org/cpython/rev/2d39b3555951 -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: ah, I just see that. The problem was that the checkin drove me nuts. It forced me to run reindent to normalize the code. I did that with my WindIde editor, but this did not help. The point was: Actually an end-of-line was missing at the end of the files. Sorry, I did not see that at all, because the indentation changes are at the end. I usually avoid this strictly. It was just the check-in rejection... -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: @georg: While reviewing: is it intended that the filter is only called for directories and not for individual files? Not really. I will add this, later. Just wanted to see if this makes sense and it's worth the effort to extend it. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: added that with tests. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Roundup Robot added the comment: New changeset 34fb83421119 by Christian Tismer in branch 'default': add a filterfunc to zip file.PyZipFile.writepy, issue 19274 http://hg.python.org/cpython/rev/34fb83421119 -- nosy: +python-dev ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Changes by Christian Tismer tis...@stackless.com: -- status: open - closed ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: Hi Georg, So do you think it is ok this way? I was not sure if extending the function with an optional arg is ok, or if a method to configure PyZipFile would be better. At the moment I just needed the simple functionality. Should it maybe get a regex like compileall.py ? And a general question: What is the right constraint for a filter function? As I wrote it, returning nothing would simply be treated as False. Maybe it is better to enforce a return value which explicitly forbids to be just None, which often just means I forgot the return value ? About feature or fix: Well, I need this for python2.7, because without it, the whole purpose of PyZipFile is pretty questionable. I might argue it a fix, because it crashes on the standard library ;-) Anyway, tell me and I'l add test, docs and put it into dev. cheers - chris -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Serhiy Storchaka added the comment: I don't think this is needed. You can walk a tree and call writepy() for files and directories which you want. -- nosy: +serhiy.storchaka ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: @serhiy.storchaka I don't think this is needed. You can walk a tree and call writepy() for files and directories which you want. What exactly do mean by this and needed? I cannot see the connection of my initial post and your reply. Running PyZipFile on a package dir of the standard lib _does_ traverse the tree, and there is no way to stop it from doing that. That was the whole point of the issue. Please correct me if I'm missing something. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Serhiy Storchaka added the comment: this is a filter function. Not needed means that you can got what you want without adding a filter function to zipfile.PyZipFile. Just don't call writepy() on directories which contains files which shouldn't be zipped. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: Ah, I understand: The case that does not compile comes from the toplevel test folder, which I could have excluded explicitly. But it is not a complete solution: If I want to add every package from the standard lib, then I necessarily encounter enclosed test folders, for instance: Lib/unittest contains Lib/unittest/test Your hint to just not call writepy() on directories which contain files which shouldn't be zipped means that I cannot use writepy at all, because many library packages contain tests. But that is the only purpose of class PyZipFile, therefore the patch. -- ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Georg Brandl added the comment: Looks fine but -- as a new feature -- is 3.4 only, and needs docs and tests. -- nosy: +georg.brandl stage: - patch review versions: +Python 3.4 -Python 2.7 ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
New submission from Christian Tismer: zipfile.PyZipFile needs a filter function. Reason: When creating an archive of the python lib, we don't want the tests. Especially the test file badsyntax_future3.py does not compile. Use case: With this little addition, it becomes very easy to create a zip file of the whole python library. See the attached use case. -- components: Library (Lib) files: zipfile.diff keywords: patch messages: 200088 nosy: Christian.Tismer priority: normal severity: normal status: open title: make zipfile.PyZipFile more usable type: enhancement versions: Python 2.7 Added file: http://bugs.python.org/file32150/zipfile.diff ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com
[issue19274] make zipfile.PyZipFile more usable
Christian Tismer added the comment: Here is my use case as an example. With this patch above, I can easily create a .zip file of the standard lib. This was no longer possible at all, after revision 17558, from 2001-04-18: This is a test from __future__ import nested_scopes from __future__ import rested_snopes def f(x): def g(y): return x + y return g print f(2)(4) -- Added file: http://bugs.python.org/file32151/make_libzip.py ___ Python tracker rep...@bugs.python.org http://bugs.python.org/issue19274 ___ ___ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com