]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/dbconn.py
Wrap __doc__ and func_name in @session_wrapper.
[dak.git] / daklib / dbconn.py
index ee057d5c9cdff40d4ec905500fac286df5368bf6..905bc47d081e5445228f250a13e951353fa943dd 100755 (executable)
@@ -48,7 +48,6 @@ from sqlalchemy.orm.exc import NoResultFound
 
 # Only import Config until Queue stuff is changed to store its config
 # in the database
-import utils
 from config import Config
 from singleton import Singleton
 from textutils import fix_maintainer
@@ -65,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 and len(args) == len(getargspec(fn)[0]) - 1:
+        if session is None or len(args) == len(getargspec(fn)[0]) - 1:
             private_transaction = True
             kwargs['session'] = DBConn().session()
 
@@ -76,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
 
 ################################################################################
@@ -1427,6 +1429,7 @@ class Queue(object):
                 # TODO: Move into database as above
                 if conf.FindB("Dinstall::SecurityQueueBuild"):
                     # Copy it since the original won't be readable by www-data
+                    import utils
                     utils.copy(src, dest)
                 else:
                     # Create a symlink to it