diff --git a/tools/python/jwutils/Config.py b/tools/python/jwutils/Config.py index 1e8d0cb..4955793 100644 --- a/tools/python/jwutils/Config.py +++ b/tools/python/jwutils/Config.py @@ -63,7 +63,7 @@ class Config(): # export return ret def __init__(self, search_dirs: Optional[list[str]]=None, glob_paths: Optional[list[str]]=None, - defaults: Dict[str, str]=None, tree: Optional[StringTree]=None, parent=None, + defaults: Optional[Dict[str, str]]=None, tree: Optional[StringTree]=None, parent=None, root_section=None) -> None: self.__parent = parent @@ -77,14 +77,15 @@ class Config(): # export self.__conf = self.__load(search_dirs=search_dirs, glob_paths=glob_paths) if root_section is not None: - self.__conf = self.__conf.get(root_section) - if self.__conf is None: - self.__conf = StringTree("", "") + tmp = self.__conf.get(root_section) + if tmp is None: + tmp = StringTree("", "") + self.__conf = tmp if defaults is not None: for key, val in defaults.items(): if self.__conf.get(key) is None: - self.__conf.set(key, val) + self.__conf[key] = val self.__conf.dump(DEBUG, "superposed configuration") @@ -108,9 +109,9 @@ class Config(): # export def value(self, key: str, default = None) -> Optional[str]: return self.get(key, default) - def branch(self, path: str) -> Optional[StringTree]: + def branch(self, path: str): # type: ignore # Optional[Config]: FIXME: Don't know how to get hold of this type here if self.__conf: - return Config(tree=self.__conf.get(path), parent=self) + return Config(tree=self.__conf.get(path), parent=self) # type: ignore return None def dump(self, prio: int, *args, **kwargs) -> None: diff --git a/tools/python/jwutils/log.py b/tools/python/jwutils/log.py index a9a0214..25f757f 100644 --- a/tools/python/jwutils/log.py +++ b/tools/python/jwutils/log.py @@ -93,9 +93,10 @@ def prio_gets_logged(prio: int) -> bool: # export return False return True -def log_level(s: str=None) -> int: # export +def log_level(s: Optional[str]=None) -> int: # export if s is None: return _level + return parse_log_prio_str(s) def get_caller_pos(up: int = 1, kwargs: Optional[dict[str, Any]] = None) -> Tuple[str, int]: if kwargs and 'caller' in kwargs: