Check for required directories prior to initializing configuration

This commit is contained in:
thatmattlove 2021-12-07 10:28:02 -07:00
parent 85f13dcc6c
commit ec1727437d
2 changed files with 20 additions and 4 deletions

View file

@ -5,7 +5,13 @@ from hyperglass.state import use_state
from hyperglass.defaults.directives import init_builtin_directives
# Local
from .validate import init_params, init_devices, init_ui_params, init_directives
from .validate import (
init_files,
init_params,
init_devices,
init_ui_params,
init_directives,
)
__all__ = ("init_user_config",)
@ -13,6 +19,7 @@ __all__ = ("init_user_config",)
def init_user_config() -> None:
"""Initialize all user configurations and add them to global state."""
state = use_state()
init_files()
params = init_params()
builtins = init_builtin_directives()

View file

@ -1,6 +1,5 @@
"""Import configuration files and run validation."""
# Third Party
from pydantic import ValidationError
@ -18,13 +17,23 @@ from .load import load_config
from .markdown import get_markdown
__all__ = (
"init_params",
"init_directives",
"init_devices",
"init_directives",
"init_files",
"init_params",
"init_ui_params",
)
def init_files() -> None:
"""Check if required directories exist and if not, create them."""
for directory in ("plugins", "static/images"):
path = Settings.app_path / directory
if not path.exists():
path.mkdir(parents=True)
log.debug("Created directory {!s}", path)
def init_params() -> "Params":
"""Validate & initialize configuration parameters."""
user_config = load_config("config", required=False)