#api_key=theapikeyasprovidedbygoogle
# use a singleton instead of staticmethods
-from manifold.util.singleton import Singleton
+#-------------------------------------------------------------------------
+# Class Singleton
+#
+# Classes that inherit from Singleton can be instanciated only once
+#-------------------------------------------------------------------------
+
+class Singleton(type):
+ def __init__(cls, name, bases, dic):
+ super(Singleton,cls).__init__(name,bases,dic)
+ cls.instance=None
+
+ def __call__(cls, *args, **kw):
+ if cls.instance is None:
+ cls.instance=super(Singleton,cls).__call__(*args,**kw)
+ return cls.instance
+
+
+# See also
+# http://stackoverflow.com/questions/6760685/creating-a-singleton-in-python
class ConfigEngine(object):
__metaclass__ = Singleton
default_myslice_theme = 'onelab'
#iotlab dev url
- default_iotlab_url = "https://devgrenoble.senslab.info/rest/admin/users"
- default_iotlab_admin_user = "auge"
- default_iotlab_admin_password= "k,mfg1+Q"
+ default_iotlab_url = "https://devwww.iot-lab.info/rest/admin/users"
+ default_iotlab_admin_user = "xxx"
+ default_iotlab_admin_password= "yyy"
def __init__ (self):
parser = RawConfigParser ()
parser.add_section('myslice')
parser.set ('myslice', 'theme', ConfigEngine.default_myslice_theme)
+ parser.add_section('iotlab')
+ parser.set ('iotlab', 'url', ConfigEngine.default_iotlab_url)
+ parser.set ('iotlab', 'admin_user', ConfigEngine.default_iotlab_admin_user)
+ parser.set ('iotlab', 'admin_password', ConfigEngine.default_iotlab_admin_password)
+
parser.add_section('googlemap')
parser.set ('googlemap','api_key', None)
parser.read (os.path.join(ROOT,'myslice/myslice.ini'))
return (self.config_parser.get('manifold','admin_user'),
self.config_parser.get('manifold','admin_password'))
+ def iotlab_url (self):
+ return self.config_parser.get('iotlab','url')
+
+ def iotlab_admin_user(self):
+ return self.config_parser.get('iotlab','admin_user')
+
+ def iotlab_admin_password(self):
+ return self.config_parser.get('iotlab','admin_password')
+
def googlemap_api_key (self):
return self.config_parser.get('googlemap','api_key')