Source code for taurex.cache.singleton

"""Just contains a singleton class. Pretty useful"""


[docs] class Singleton: """A singleton for your usage. When inheriting do not implement __init__ instead override :func:`init`. """ def __new__(cls, *args, **kwds): it = cls.__dict__.get("__it__") if it is not None: return it cls.__it__ = it = object.__new__(cls) it.init(*args, **kwds) return it
[docs] def init(self, *args, **kwds): """Override to act as an init""" pass