Skip to content
Open
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
e3fac96
Enhance winreg.OpenKeyEx and winreg.CreateKeyEx
aisk Feb 9, 2025
59dfa3d
Add tests
aisk Feb 9, 2025
bba8ba6
Update sys.audit
aisk Feb 9, 2025
47ea0ba
Add news entry
aisk Feb 9, 2025
d6251e0
Add documents
aisk Feb 9, 2025
f4f4fff
Fix sphinx error
aisk Feb 9, 2025
1fd89db
Fix typo
aisk Feb 9, 2025
28bf171
Regenerate files
aisk Feb 9, 2025
94ed98b
Revert the changes on sys.audit
aisk Feb 11, 2025
b8261bb
Update comment
aisk Feb 11, 2025
2475c0b
Apply suggestions from code review
aisk Mar 1, 2025
913b21a
Update document for OpenKeyEx
aisk Mar 1, 2025
483849a
Add document for CreateKeyEx
aisk Mar 1, 2025
bd57ba7
Fix CI
aisk Mar 1, 2025
6eae434
Split OpenKey and OpenKeyEx
aisk Mar 12, 2025
1b473ad
Check deprecated warning in test
aisk Mar 12, 2025
5badb7a
Update document
aisk Mar 12, 2025
7b9ffec
Fix rst lint errors
aisk Mar 12, 2025
b4e8d8b
Update generated files
aisk Mar 12, 2025
580a348
Remove macro define by accident
aisk Mar 13, 2025
76b947f
Merge branch 'main' into enhance-winreg
zooba Mar 13, 2025
9e64cb2
Deprecate options in CreateKey too
aisk Mar 15, 2025
5fab221
Remove the macro define again
aisk Mar 15, 2025
c4c2704
Merge remote-tracking branch 'upstream/main' into enhance-winreg
aisk Nov 6, 2025
26b4e82
Update generate files
aisk Nov 13, 2025
e457112
Merge branch 'main' into enhance-winreg
serhiy-storchaka Nov 23, 2025
7900598
Make options and create_only keyword-only for CreateKeyEx
aisk Nov 24, 2025
acc01c7
Make reserved keyword-only for OpenKeyEx
aisk Nov 24, 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
1 change: 1 addition & 0 deletions Include/internal/pycore_global_objects_fini_generated.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Include/internal/pycore_global_strings.h
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,7 @@ struct _Py_global_strings {
STRUCT_FOR_ID(coro)
STRUCT_FOR_ID(count)
STRUCT_FOR_ID(covariant)
STRUCT_FOR_ID(create_only)
STRUCT_FOR_ID(cwd)
STRUCT_FOR_ID(data)
STRUCT_FOR_ID(database)
Expand Down
1 change: 1 addition & 0 deletions Include/internal/pycore_runtime_init_generated.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions Include/internal/pycore_unicodeobject_generated.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 17 additions & 0 deletions Lib/test/test_winreg.py
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,23 @@ def test_registry_works_extended_functions(self):

self._delete_test_data(HKEY_CURRENT_USER)

def test_registry_works_with_options(self):
ckeo = lambda key, sub_key: CreateKeyEx(key, sub_key, 0, KEY_ALL_ACCESS,
options=REG_OPTION_VOLATILE)
self._write_test_data(HKEY_CURRENT_USER, CreateKey=ckeo)

okeo = lambda key, sub_key: OpenKeyEx(key, sub_key, 0, KEY_READ,
options=REG_OPTION_VOLATILE)
self._read_test_data(HKEY_CURRENT_USER, OpenKey=okeo)

self._delete_test_data(HKEY_CURRENT_USER)

def test_create_only(self):
CreateKeyEx(HKEY_CURRENT_USER, test_key_name)
with self.assertRaises(FileExistsError):
CreateKeyEx(HKEY_CURRENT_USER, test_key_name, create_only=True)
DeleteKey(HKEY_CURRENT_USER, test_key_name)

def test_named_arguments(self):
self._test_named_args(HKEY_CURRENT_USER, test_key_name)
# Use the regular DeleteKey to clean up
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Add *options* and *create_only* parameters to :meth:`winreg.CreateKeyEx`.
Add *options* parameter to :meth:`winreg.OpenKeyEx`.
114 changes: 83 additions & 31 deletions PC/clinic/winreg.c.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading