git://git.onelab.eu
/
sfa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'geni-v3' of ssh://git.onelab.eu/git/sfa into geni-v3
[sfa.git]
/
sfa
/
generic
/
__init__.py
diff --git
a/sfa/generic/__init__.py
b/sfa/generic/__init__.py
index
de1a9e1
..
ece7e2b
100644
(file)
--- a/
sfa/generic/__init__.py
+++ b/
sfa/generic/__init__.py
@@
-42,6
+42,10
@@
class Generic:
except:
logger.log_exc("Cannot locate generic instance with flavour=%s"%flavour)
except:
logger.log_exc("Cannot locate generic instance with flavour=%s"%flavour)
+ # provide default for importer_class
+ def importer_class (self):
+ return None
+
# in the simplest case these can be redefined to the class/module objects to be used
# see pl.py for an example
# some descendant of SfaApi
# in the simplest case these can be redefined to the class/module objects to be used
# see pl.py for an example
# some descendant of SfaApi
@@
-63,16
+67,12
@@
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)
# 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)
api.manager=manager_wrap
### arrange stuff together
# add a manager wrapper
manager_wrap = ManagerWrapper(manager_class_or_module,api.interface,api.config)
api.manager=manager_wrap
- # insert driver in manager
- logger.debug("Setting manager.driver, manager=%s"%manager_class_or_module)
- # xxx this should go into the object and not the class !?!
- manager_class_or_module.driver=driver
- # add it in api as well for convenience
+ # add it in api as well; driver.api is set too as part of make_driver
api.driver=driver
return api
api.driver=driver
return api
@@
-96,7
+96,9
@@
class Generic:
logger.log_exc_critical(message)
# need interface to select the right driver
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)
flavour = self.flavour
message="Generic.make_driver for flavour=%s and interface=%s"%(flavour,interface)
@@
-107,8
+109,7
@@
class Generic:
try:
class_obj = getattr(self,classname)()
logger.debug("%s : %s"%(message,class_obj))
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)
except:
logger.log_exc_critical(message)
-