From: Loic Baron Date: Fri, 31 Jul 2015 15:46:12 +0000 (+0200) Subject: Singleton fixed X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=c21dc8a15adb119f7335d40e73c930796a0dd38f Singleton fixed --- 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 diff --git a/myslice/util/singleton.py b/myslice/util/singleton.py deleted file mode 100644 index b622c135..00000000 --- a/myslice/util/singleton.py +++ /dev/null @@ -1,19 +0,0 @@ -#------------------------------------------------------------------------- -# 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