- logger.log_exc(message)
- logger.fatal("Aborting")
-
-# former logic was
-# basepath = 'sfa.managers'
-# qualified = "%s.%s_manager_%s"%(basepath,interface,flavour)
-# generic = "%s.%s_manager"%(basepath,interface)
-#
-# try:
-# manager = __import__(qualified, fromlist=[basepath])
-# logger.info ("%s: loaded %s"%(message,qualified))
-# except:
-# try:
-# manager = __import__ (generic, fromlist=[basepath])
-# if flavour != 'pl' :
-# logger.warn ("%s: using generic with flavour!='pl'"%(message))
-# logger.info("%s: loaded %s"%(message,generic))
-# except:
-# logger.log_exc("%s: unable to import either %s or %s"%(message,qualified,generic))
-# logger.fatal("Aborted")
-# return manager
-
+ logger.log_exc_critical(message)
+
+ # need interface to select the right driver
+ 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)
+
+ if interface == "component":
+ classname = "component_driver_class"
+ else:
+ classname = "driver_class"
+ try:
+ class_obj = getattr(self, classname)()
+ logger.debug("%s : %s" % (message, class_obj))
+ return class_obj(api)
+ except:
+ logger.log_exc_critical(message)