* commit 'lamby/master':
Correct logic with detecting default kwarg values vs positional args.
Wrap __doc__ and func_name in @session_wrapper.
Signed-off-by: Joerg Jaspert <joerg@debian.org>
session = kwargs.get('session')
# No session specified as last argument or in kwargs, create one.
- if session is None or len(args) == len(getargspec(fn)[0]) - 1:
+ if session is None and len(args) <= len(getargspec(fn)[0]) - 1:
private_transaction = True
kwargs['session'] = DBConn().session()
# We created a session; close it.
kwargs['session'].close()
+ wrapped.__doc__ = fn.__doc__
+ wrapped.func_name = fn.func_name
+
return wrapped
################################################################################