diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2022-04-07 12:37:23 -0400 |
---|---|---|
committer | mike bayer <mike_mp@zzzcomputing.com> | 2022-04-12 02:09:50 +0000 |
commit | aa9cd878e8249a4a758c7f968e929e92fede42a5 (patch) | |
tree | 1be1c9dc24dd247a150be55d65bfc56ebaf111bc /tools/generate_proxy_methods.py | |
parent | 98eae4e181cb2d1bbc67ec834bfad29dcba7f461 (diff) | |
download | sqlalchemy-aa9cd878e8249a4a758c7f968e929e92fede42a5.tar.gz |
pep-484: session, instancestate, etc
Also adds some fixes to annotation-based mapping
that have come up, as well as starts to add more
pep-484 test cases
Change-Id: Ia722bbbc7967a11b23b66c8084eb61df9d233fee
Diffstat (limited to 'tools/generate_proxy_methods.py')
-rw-r--r-- | tools/generate_proxy_methods.py | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/tools/generate_proxy_methods.py b/tools/generate_proxy_methods.py index eec4d878a..ffc470972 100644 --- a/tools/generate_proxy_methods.py +++ b/tools/generate_proxy_methods.py @@ -149,13 +149,27 @@ def process_class( iscoroutine = inspect.iscoroutinefunction(fn) - if spec.defaults: - new_defaults = tuple( - _repr_sym("util.EMPTY_DICT") if df is util.EMPTY_DICT else df - for df in spec.defaults - ) + if spec.defaults or spec.kwonlydefaults: elem = list(spec) - elem[3] = tuple(new_defaults) + + if spec.defaults: + new_defaults = tuple( + _repr_sym("util.EMPTY_DICT") + if df is util.EMPTY_DICT + else df + for df in spec.defaults + ) + elem[3] = new_defaults + + if spec.kwonlydefaults: + new_kwonlydefaults = { + name: _repr_sym("util.EMPTY_DICT") + if df is util.EMPTY_DICT + else df + for name, df in spec.kwonlydefaults.items() + } + elem[5] = new_kwonlydefaults + spec = compat.FullArgSpec(*elem) caller_argspec = format_argspec_plus(spec, grouped=False) |