From: Loic Baron Date: Fri, 31 Jul 2015 15:27:56 +0000 (+0200) Subject: MySlice independant from Manifold package X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=982d5620e23e337b2a228d4bf8ed379ea632b414 MySlice independant from Manifold package --- diff --git a/myslice/configengine.py b/myslice/configengine.py index 4b40cb24..6341ac32 100644 --- a/myslice/configengine.py +++ b/myslice/configengine.py @@ -19,7 +19,7 @@ from myslice.settings import ROOT #api_key=theapikeyasprovidedbygoogle # use a singleton instead of staticmethods -from manifold.util.singleton import Singleton +from myslice.util.singleton import Singleton class ConfigEngine(object): __metaclass__ = Singleton diff --git a/myslice/util/singleton.py b/myslice/util/singleton.py new file mode 100644 index 00000000..b622c135 --- /dev/null +++ b/myslice/util/singleton.py @@ -0,0 +1,19 @@ +#------------------------------------------------------------------------- +# 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