2to3 -f raise
[sfa.git] / sfa / managers / managerwrapper.py
index b0326d6..da8c98f 100644 (file)
@@ -15,20 +15,23 @@ class ManagerWrapper:
     is not implemented by a libarary and will generally be more helpful than
     the standard AttributeError         
     """
-    def __init__(self, manager, interface):
+    def __init__(self, manager, interface, config):
         if isinstance (manager, ModuleType):
             # old-fashioned module implementation
             self.manager = manager
         elif isinstance (manager, ClassType):
             # create an instance; we don't pass the api in argument as it is passed 
             # to the actual method calls anyway
-            self.manager = manager()
+            self.manager = manager(config)
         else:
-            raise SfaAPIError,"Argument to ManagerWrapper must be a module or class"
+            # that's what happens when there's something wrong with the db
+            # or any bad stuff of that kind at startup time
+            logger.log_exc("Failed to create a manager, startup sequence is broken")
+            raise SfaAPIError("Argument to ManagerWrapper must be a module or class")
         self.interface = interface
         
     def __getattr__(self, method):
         if not hasattr(self.manager, method):
-            raise SfaNotImplemented(method, self.interface)
+            raise SfaNotImplemented(self.interface, method)
         return getattr(self.manager, method)