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
################################################################################