first stab at a design where each incoming API call has its own dbsession
[sfa.git] / sfa / generic / __init__.py
index 99d15bc..2b067ff 100644 (file)
@@ -67,7 +67,7 @@ class Generic:
         # xxx can probably drop support for managers implemented as modules 
         # which makes it a bit awkward
         manager_class_or_module = self.make_manager(api.interface)
-        driver = self.make_driver (api.config, api.interface)
+        driver = self.make_driver (api)
         ### arrange stuff together
         # add a manager wrapper
         manager_wrap = ManagerWrapper(manager_class_or_module,api.interface,api.config)
@@ -100,7 +100,9 @@ class Generic:
             logger.log_exc_critical(message)
         
     # need interface to select the right driver
-    def make_driver (self, config, interface):
+    def make_driver (self, api):
+        config=api.config
+        interface=api.interface
         flavour = self.flavour
         message="Generic.make_driver for flavour=%s and interface=%s"%(flavour,interface)
         
@@ -111,7 +113,7 @@ class Generic:
         try:
             class_obj = getattr(self,classname)()
             logger.debug("%s : %s"%(message,class_obj))
-            return class_obj(config)
+            return class_obj(api)
         except:
             logger.log_exc_critical(message)