<filename>ext/torps/ext/safest/singleton.py
class Singleton:
    """
    """

    def __init__(self,decorated):
      self._decorated = decorated

    def Instance(self):
        """
        Returns the singleton instance. Upon its first call, it creates a
        new instance of the decorated class and calls its '__init__' method.
        On all subsequent calls, the already created instance is returned.
        """
        try:
            return self._instance
        except AttributeError:
            self._instance = self._decorated()
            return self._instance

    def __call__(self):
        raise TypeError('Singletons must be accessed through Instance()')

    def __instancecheck__(self, inst):
        return isinstance(inst, self._decorated)

<filename>ext/torps/ext/safest/singleton.py
class Singleton:
    """
    """

    def __init__(self,decorated):
      self._decorated = decorated

    def Instance(self):
        """
        Returns the singleton instance. Upon its first call, it creates a
        new instance of the decorated class and calls its '__init__' method.
        On all subsequent calls, the already created instance is returned.
        """
        try:
            return self._instance
        except AttributeError:
            self._instance = self._decorated()
            return self._instance

    def __call__(self):
        raise TypeError('Singletons must be accessed through Instance()')

    def __instancecheck__(self, inst):
        return isinstance(inst, self._decorated)

Returns the singleton instance. Upon its first call, it creates a         new instance of the decorated class and calls its '__init__' method.         On all subsequent calls, the already created instance is returned.