X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myslice%2Fconfigengine.py;h=c8ff19730b8074aaf6283470453af13f45e6a1e2;hb=5df37d96aa758faa548091932a5d00a76aa16551;hp=5ce52605c56a836b1cde8b36ef284b80aadcac70;hpb=0f192ac863eb30a39d37d5b834a6c35b82cd2279;p=myslice.git diff --git a/myslice/configengine.py b/myslice/configengine.py index 5ce52605..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 @@ -35,6 +53,10 @@ class ConfigEngine(object): 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 () @@ -46,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')) @@ -62,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')