mirror of
https://github.com/python/cpython.git
synced 2025-09-07 09:21:27 +00:00
[3.13] gh-116850: Fix argparse for namespaces with not directly writable dict (GH-124667) (GH-124757)
It now always uses setattr() instead of setting the dict item to modify
the namespace. This allows to use a class as a namespace.
(cherry picked from commit 95e92ef6c7
)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
This commit is contained in:
parent
597b6211ab
commit
11d4b54b88
3 changed files with 16 additions and 1 deletions
|
@ -1252,7 +1252,8 @@ class _SubParsersAction(Action):
|
|||
setattr(namespace, key, value)
|
||||
|
||||
if arg_strings:
|
||||
vars(namespace).setdefault(_UNRECOGNIZED_ARGS_ATTR, [])
|
||||
if not hasattr(namespace, _UNRECOGNIZED_ARGS_ATTR):
|
||||
setattr(namespace, _UNRECOGNIZED_ARGS_ATTR, [])
|
||||
getattr(namespace, _UNRECOGNIZED_ARGS_ATTR).extend(arg_strings)
|
||||
|
||||
class _ExtendAction(_AppendAction):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue