MySlice independant from Manifold package
authorLoic Baron <loic.baron@lip6.fr>
Fri, 31 Jul 2015 15:27:56 +0000 (17:27 +0200)
committerLoic Baron <loic.baron@lip6.fr>
Fri, 31 Jul 2015 15:27:56 +0000 (17:27 +0200)
myslice/configengine.py
myslice/util/singleton.py [new file with mode: 0644]

index 4b40cb2..6341ac3 100644 (file)
@@ -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 (file)
index 0000000..b622c13
--- /dev/null
@@ -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