X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myslice%2Fconfigengine.py;h=c8ff19730b8074aaf6283470453af13f45e6a1e2;hb=c21dc8a15adb119f7335d40e73c930796a0dd38f;hp=4b40cb24bb7eb0c20594816a4956d20e2064794a;hpb=65a67a3711bd82f3387a7ea1fb52b9e67ac82379;p=myslice.git diff --git a/myslice/configengine.py b/myslice/configengine.py index 4b40cb24..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