]> git.decadent.org.uk Git - dak.git/commitdiff
Merge commit 'lamby/master' into merge
authorJoerg Jaspert <joerg@debian.org>
Tue, 27 Oct 2009 08:49:04 +0000 (09:49 +0100)
committerJoerg Jaspert <joerg@debian.org>
Tue, 27 Oct 2009 08:49:04 +0000 (09:49 +0100)
* 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>
daklib/dbconn.py

index 3aa7b8e2458965f152ede8dd57b361bc72bd338a..f5a19c1236442360ca57b7b867eed9f24f5f5003 100755 (executable)
@@ -64,7 +64,7 @@ def session_wrapper(fn):
         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()
 
@@ -75,6 +75,9 @@ def session_wrapper(fn):
                 # We created a session; close it.
                 kwargs['session'].close()
 
+    wrapped.__doc__ = fn.__doc__
+    wrapped.func_name = fn.func_name
+
     return wrapped
 
 ################################################################################