def __init__(self, filename='', version='', params={}): self._stop = False self._mutex = threading.RLock() self.version = version self.filename = filename if not self.filename: self.filename = os.path.expanduser('~/.config/iop.fkie/iop_node_manager.yaml') cfg_path = os.path.dirname(self.filename) if not os.path.isdir(cfg_path): os.makedirs(cfg_path) self._reload_callbacks = [] self._param_callbacks = {} self._cfg = None self.logger = NMLogger('config') self.reload() NMLogger.setall_loglevel(self.param('global/loglevel', 'info')) self.apply(params, save=False) self.msg_ids = {} # (int)id: (str)Name self._read_msg_ids() self._cfgif = None self._cfgif_address = None self.add_param_listener('global/loglevel', self._callback_change_loglevel)
def _callback_change_loglevel(self, param, loglevel): NMLogger.setall_loglevel(loglevel)