X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=myslice%2Fconfigengine.py;h=c8ff19730b8074aaf6283470453af13f45e6a1e2;hb=ddcdaf8d61df7f4a2a0da11c23190b56ed914464;hp=6341ac3273b56e00915e1793c0a0434fb86a705d;hpb=982d5620e23e337b2a228d4bf8ed379ea632b414;p=myslice.git diff --git a/myslice/configengine.py b/myslice/configengine.py index 6341ac32..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 myslice.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