X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myslice%2Fconfigengine.py;h=c8ff19730b8074aaf6283470453af13f45e6a1e2;hb=c21dc8a15adb119f7335d40e73c930796a0dd38f;hp=680ddbce420af96a57e2f190d2b1a28efb209a3f;hpb=7464fb5c0d4d4857963b52b944b27df41e4ec1f6;p=myslice.git diff --git a/myslice/configengine.py b/myslice/configengine.py index 680ddbce..c8ff1973 100644 --- a/myslice/configengine.py +++ b/myslice/configengine.py @@ -19,7 +19,25 @@ from myslice.settings import ROOT #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 @@ -36,9 +54,9 @@ class ConfigEngine(object): 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 () @@ -50,6 +68,11 @@ class ConfigEngine(object): 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')) @@ -66,6 +89,15 @@ class ConfigEngine(object): 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')