X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myslice%2Fconfigengine.py;h=c8ff19730b8074aaf6283470453af13f45e6a1e2;hb=c21dc8a15adb119f7335d40e73c930796a0dd38f;hp=e512adf488ddc5b10c20be400dfa4f5026d7479f;hpb=a7337c66c2c7c3312c4205a8119252f04a1fbd58;p=myslice.git diff --git a/myslice/configengine.py b/myslice/configengine.py index e512adf4..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 @@ -33,7 +51,12 @@ class ConfigEngine(object): default_manifold_admin_user = 'admin' default_manifold_admin_password = 'demo' + default_myslice_theme = 'onelab' + #iotlab dev url + 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 () @@ -41,6 +64,15 @@ class ConfigEngine(object): parser.set ('manifold', 'url', ConfigEngine.default_manifold_url) parser.set ('manifold', 'admin_user', ConfigEngine.default_manifold_admin_user) parser.set ('manifold', 'admin_password', ConfigEngine.default_manifold_admin_password) + + 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')) @@ -57,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')