Skip to content

gh-59999: Add option to preserve permissions in ZipFile.extract #32289

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 40 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
4fea41a
Add option to preserve permissions in ZipFile.extract
dignissimus Apr 3, 2022
f2f44ea
Update ACKS
dignissimus Apr 3, 2022
a09e5d3
Document option contents
dignissimus Apr 3, 2022
e2fa678
Document preserve_permissions parameter
dignissimus Apr 4, 2022
8a056b4
Continue work on tests
dignissimus Apr 5, 2022
a56d934
Fix tests
dignissimus Apr 12, 2022
06aff01
Skip tests on windows
dignissimus Apr 13, 2022
9a4b4f6
Add news entry
dignissimus Apr 13, 2022
5776f4c
Add tests for special file permissions
dignissimus Apr 13, 2022
8a3a778
Re-introduce tests for mode 0
dignissimus Apr 13, 2022
8a6a2c4
Use enumeration type in place of constants
dignissimus Apr 13, 2022
6470201
Document enumeration type
dignissimus Apr 13, 2022
5c8d82b
Check whether files were created on unix systems before extrating per…
dignissimus Apr 22, 2022
89da6f2
Remove trailing whitespace
dignissimus Apr 22, 2022
30e5528
Check file permissions against the umask
dignissimus Apr 24, 2022
5a1edac
Document that permissions are not preserved with archives created on …
dignissimus Apr 27, 2022
8a82294
Merge branch 'main' into bpo-15795
dignissimus Apr 27, 2022
41a350d
minor changes
merwok Feb 7, 2025
1b09aec
Merge branch 'main' into bpo-15795
dignissimus Feb 15, 2025
c456bb3
Qualify PreserveMode as zipfile.PreserveMode in documentation
dignissimus Feb 15, 2025
5616e0a
Revert PreserveMode -> zipfile.PreserveMode in documentation
dignissimus Feb 15, 2025
0065d2e
Replace dash with verb phrase in documentation for zipfile
dignissimus Feb 15, 2025
4064c32
Add versionchanged note in documentation for preserve_permissions in …
dignissimus Feb 15, 2025
f2c816a
Qualify ZipFile method references in documentation
dignissimus Feb 15, 2025
7d72b3b
Qualify zipfile.ZipFile.extract in news entry
dignissimus Feb 15, 2025
cb2478b
Disable tests that require root on wasi
dignissimus Feb 15, 2025
a082204
Disable tests that require file permissions on wasi
dignissimus Feb 15, 2025
fbba438
Move zipfile.PreserveMode description into docstring
dignissimus Feb 15, 2025
0d6b864
Remove superfluous newline
dignissimus Feb 15, 2025
b466493
Align method arguments in zipfile documentation
dignissimus Feb 15, 2025
9e94581
Separate clause with comma
dignissimus Feb 23, 2025
500ae2e
Documentation brevity
dignissimus Feb 23, 2025
a81a857
Merge branch 'main' into bpo-15795
dignissimus Feb 23, 2025
2cad611
Merge branch 'main' into bpo-15795
dignissimus Mar 4, 2025
5ef404a
Deduplicate Zipile path and pwd parameters
dignissimus Mar 4, 2025
c74c006
Separate permission-setting functionality from zipfile extraction code
dignissimus Mar 4, 2025
865771c
Merge branch 'main' into bpo-15795
dignissimus Mar 4, 2025
a2d7e77
Separate permission-setting functionality from zipfile extraction code
dignissimus Mar 5, 2025
44f5c89
Merge branch 'main' into bpo-15795
dignissimus Apr 13, 2025
9f5ebc3
Merge branch 'main' into bpo-15795
dignissimus Apr 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Skip tests on windows
  • Loading branch information
dignissimus committed Apr 13, 2022
commit 06aff018c1b6b6ae59f1145c2912a8bdeca6294e
1 change: 1 addition & 0 deletions Lib/test/test_zipfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -2055,6 +2055,7 @@ def tearDown(self):
unlink(TESTFN)
unlink(TESTFN2)

@unittest.skipIf(sys.platform == "win32", "Requires file permissions")
class TestsPermissionExtraction(unittest.TestCase):
def setUp(self):
self.files = []
Expand Down