diff --git a/config.py b/config.py index 1dada77..74adb28 100644 --- a/config.py +++ b/config.py @@ -3,12 +3,23 @@ ''' import numpy as np +import threading class config_error(Exception): pass class Configuration(): + + _instance_lock = threading.Lock() + + def __new__(cls, *args, **kwargs): + if not hasattr(Configuration,"_instance"): + with Configuration._instance_lock: + if not hasattr(Configuration,"_instance"): + Configuration._instance = object.__new__(cls) + return Configuration._instance + def __init__(self, *args, **kwargs): #simulation variables self.verbose = kwargs.get('verbose', True) #whether to print infections, recoveries and fatalities to the terminal