from json import load from os.path import exists from pycs.observable import ObservableDict class ApplicationStatus(ObservableDict): def __init__(self, path_to_settings_json=None, settings=None): # load settings if file exists self.__path_to_settings_json = path_to_settings_json if settings is not None: settings = settings elif path_to_settings_json is not None and exists(path_to_settings_json): with open(path_to_settings_json) as settings_json: settings = load(settings_json) else: settings = {} # initialize data structure super().__init__({ 'status': {}, 'settings': settings })