This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: zipfile missing API for links
Type: Stage: resolved
Components: Versions:
process
Status: closed Resolution: duplicate
Dependencies: Superseder: Improve zipfile: add support for symlinks
View: 37921
Assigned To: Nosy List: mxmlnkn
Priority: normal Keywords:

Created on 2021-09-25 12:27 by mxmlnkn, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Messages (1)
msg402617 - (view) Author: mxmlnkn (mxmlnkn) Date: 2021-09-25 12:27
When using zipfile as a library to get simple files, there is no way to method to determine whether a ZipInfo object is a link or not. Moreover, links can be simply opened and read like normal files and will contain the link path, which is unexpected in most cases, I think.

ZipInfo already has an `is_dir` getter. It would be nice if there also was an `is_link` getter. Note that `__repr__` actually shows the filemode, which is `lrwxrwxrwx`. But there is not even a getter for the file mode.

For now, I can try to use the code from `__repl__` to extract the file mode from the `external_attr` member but the contents of that member are not documented in zipfile and assuming it is the same as in the ZIP file format specification, it's OS-dependent.

Additionally to `is_link` some getter like `linkname` or so would be nice. As to how it should behave when calling `open` or `read` on a link, I'm not sure.
History
Date User Action Args
2022-04-11 14:59:50adminsetgithub: 89449
2021-09-25 17:48:49serhiy.storchakasetstatus: open -> closed
resolution: duplicate
superseder: Improve zipfile: add support for symlinks
stage: resolved
2021-09-25 12:27:00mxmlnkncreate