From 4f1321c3e97f9bb1c92b378452a7810874927c71 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Wed, 28 Sep 2011 13:04:42 -0400 Subject: - Enhanced the instrumentation in the ORM to support Py3K's new argument style of "required kw arguments", i.e. fn(a, b, *, c, d), fn(a, b, *args, c, d). Argument signatures of mapped object's __init__ method will be preserved, including required kw rules. [ticket:2237] --- lib/sqlalchemy/orm/instrumentation.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/sqlalchemy/orm/instrumentation.py') diff --git a/lib/sqlalchemy/orm/instrumentation.py b/lib/sqlalchemy/orm/instrumentation.py index f14b75253..89e9ae8ae 100644 --- a/lib/sqlalchemy/orm/instrumentation.py +++ b/lib/sqlalchemy/orm/instrumentation.py @@ -656,6 +656,7 @@ def __init__(%(apply_pos)s): # Py3K #func_defaults = getattr(original__init__, '__defaults__', None) + #func_kw_defaults = getattr(original__init__, '__kwdefaults__', None) # Py2K func = getattr(original__init__, 'im_func', original__init__) func_defaults = getattr(func, 'func_defaults', None) @@ -667,4 +668,7 @@ def __init__(%(apply_pos)s): __init__.__doc__ = original__init__.__doc__ if func_defaults: __init__.func_defaults = func_defaults + # Py3K + #if func_kw_defaults: + # __init__.__kwdefaults__ = func_kw_defaults return __init__ -- cgit v1.2.1