Config: Support glob_paths_env_key

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-03-12 13:37:32 +01:00
commit 34de9114c5

View file

@ -63,18 +63,33 @@ class Config(): # export
ret.add("", tree)
return ret
def __init__(self, search_dirs: Optional[list[str]]=None, glob_paths: Optional[list[str]]=None,
defaults: Optional[Dict[str, str]]=None, tree: Optional[StringTree]=None, parent=None,
root_section=None, refuse_mode_mask=0o0027) -> None:
def __init__(self,
search_dirs: Optional[list[str]]=None,
glob_paths: Optional[list[str]]=None,
glob_paths_env_key: Optional[str]=None,
defaults: Optional[Dict[str, str]]=None,
tree: Optional[StringTree]=None,
parent=None,
root_section=None,
refuse_mode_mask=0o0027
) -> None:
self.__parent = parent
if tree is not None:
assert(search_dirs is None)
assert(glob_paths is None)
assert(glob_paths_env_key is None)
self.__conf = tree
else:
assert(tree is None)
if glob_paths_env_key is not None:
glob_paths_env = os.getenv(glob_paths_env_key)
if glob_paths_env is not None:
if glob_paths is None:
glob_paths = []
glob_paths.extend(glob_paths_env.split(':'))
self.__conf = self.__load(search_dirs=search_dirs, glob_paths=glob_paths,
refuse_mode_mask=refuse_mode_mask)