Ensure that only one instance of a class gets run
python, singleton
Solution
See singleton in python.
Problem
I have an underlying class which I want to place in some code. I only want it to be instantiated or started once for a given app although it might be called many times.. The problem with the code below is that LowClass is started over and over again. I only want it to start once per test.. ``` import logging class LowClass: active = False def __init__(self): self.log = logging.getLogger() self.log.debug("Init %s" % self.__class__.__name__) if self.active: return else: self.active = True self.log.debug("Now active!") class A: def __init__(self): self.log = logging.getLogger() self.log.debug("Init %s" % self.__class__.__name__) self.lowclass = LowClass() class B: def __init__(self): self.log = logging.getLogger() self.log.debug("Init %s" % self.__class__.__name__) self.lowclass = LowClass() class C: def __init__(self): self.log = logging.getLogger() self.log.debug("Init %s" % self.__class__.__name__) self.a = A() self.b = B() class ATests(unittest.TestCase): def setUp(self): pass def testOne(self): a = A() b = B() def testTwo(self): c = C() ``` Thanks for pointing out my problem!!