Merge branch 'master' of ssh://git.planet-lab.org/git/sfa
[sfa.git] / sfa / managers / import_manager.py
1 def import_manager(kind, type):
2     """
3     kind expected in ['registry', 'aggregate', 'slice', 'component']
4     type is e.g. 'pl' or 'max' or whatever
5     """
6     basepath = 'sfa.managers'
7     qualified = "%s.%s_manager_%s"%(basepath,kind,type)
8     generic = "%s.%s_manager"%(basepath,kind)
9     try: 
10         manager = __import__(qualified, fromlist=[basepath])
11     except:
12         try:
13             manager = __import__ (generic, fromlist=[basepath])
14             if type != 'pl' : 
15                 logger.warn ("Using generic manager for %s with type=%s"%(kind,type))
16         except:
17             manager=None
18     return manager
19