[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-24 Thread Jason R. Coombs


Jason R. Coombs  added the comment:

Thanks very much shireenrao for the PR, which is now merged with Python 3.8+. 
I've additionally backported the fix to zipp in 0.6.0.

--
resolution:  -> fixed
stage: patch review -> resolved
status: open -> closed
versions: +Python 3.8

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-24 Thread Jason R. Coombs


Jason R. Coombs  added the comment:


New changeset c410f381bf66c48d84812e19e3ba7c2878511a3e by Jason R. Coombs (Miss 
Islington (bot)) in branch '3.8':
bpo-37772: fix zipfile.Path.iterdir() outputs (GH-15170) (#15461)
https://github.com/python/cpython/commit/c410f381bf66c48d84812e19e3ba7c2878511a3e


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-24 Thread miss-islington


Change by miss-islington :


--
pull_requests: +15155
pull_request: https://github.com/python/cpython/pull/15461

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-24 Thread Jason R. Coombs


Jason R. Coombs  added the comment:


New changeset a4e2991bdc993b60b6457c8a38d6e4a1fc845781 by Jason R. Coombs 
(shireenrao) in branch 'master':
bpo-37772: fix zipfile.Path.iterdir() outputs (GH-15170)
https://github.com/python/cpython/commit/a4e2991bdc993b60b6457c8a38d6e4a1fc845781


--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-07 Thread Srinivas Nyayapati


Srinivas Nyayapati  added the comment:

I just submitted my PR.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-07 Thread Srinivas Nyayapati


Change by Srinivas Nyayapati :


--
keywords: +patch
pull_requests: +14902
stage:  -> patch review
pull_request: https://github.com/python/cpython/pull/15170

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-07 Thread Jason R. Coombs


Change by Jason R. Coombs :


--
assignee:  -> jaraco

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-07 Thread Jason R. Coombs


Jason R. Coombs  added the comment:

Please do.

--

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-06 Thread Srinivas Nyayapati

Srinivas Nyayapati  added the comment:

I have attempted a fix to Path._add_implied_dirs and have the changes in my 
github branch https://github.com/shireenrao/cpython/tree/zipfile. Is it ok if I 
submitted a PR on this? I have run test_zipfile.py and the test case provided 
by Jörn Heissler successfully.

--
nosy: +shireenrao

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-06 Thread Brett Cannon


Change by Brett Cannon :


--
nosy: +jaraco

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue37772] zipfile.Path.iterdir() outputs sub directories many times or not at all

2019-08-06 Thread Jörn Heissler

New submission from Jörn Heissler :

Hello,


#!/usr/bin/python3.8

from zipfile import ZipFile, Path
import io

def recurse_print(parent):
for child in parent.iterdir():
if child.is_file():
print(child, child.read_text())
if child.is_dir():
recurse_print(child)

data = io.BytesIO()
zf = ZipFile(data, "w")
zf.writestr("a.txt", "content of a")
zf.writestr("b/c.txt", "content of c")
zf.writestr("b/d/e.txt", "content of e")
zf.writestr("b/f.txt", "content of f")
zf.filename = "abcde.zip"
root = Path(zf)
recurse_print(root)


Expected result:

abcde.zip/a.txt content of a
abcde.zip/b/c.txt content of c
abcde.zip/b/f.txt content of f
abcde.zip/b/d/e.txt content of e

Actual result:

abcde.zip/a.txt content of a
abcde.zip/b/c.txt content of c
abcde.zip/b/f.txt content of f
abcde.zip/b/d/e.txt content of e
abcde.zip/b/c.txt content of c
abcde.zip/b/f.txt content of f
abcde.zip/b/d/e.txt content of e


Path._add_implied_dirs adds the sub directory "b/" twice: once for each direct 
child (i.e. "c.txt" and "f.txt")


And similarly:

data = io.BytesIO()
zf = ZipFile(data, "w")
zf.writestr("a.txt", "content of a")
zf.writestr("b/d/e.txt", "content of e")
zf.filename = "abcde.zip"
root = Path(zf)
recurse_print(root)

Expected result:

abcde.zip/a.txt content of a
abcde.zip/b/d/e.txt content of e

Actual result:

abcde.zip/a.txt content of a

Here, Path._add_implied_dirs doesn't add "b/" at all, because there are no 
direct childs of "b".

--
components: Library (Lib)
messages: 349101
nosy: joernheissler
priority: normal
severity: normal
status: open
title: zipfile.Path.iterdir() outputs sub directories many times or not at all
type: behavior
versions: Python 3.9

___
Python tracker 

___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com