From bfcae89bf09ca0f451cfd4f9fef184674927815d Mon Sep 17 00:00:00 2001 From: thatmattlove Date: Sat, 1 Jun 2024 15:08:59 -0400 Subject: [PATCH] fix prepending of `HYPERGLASS_APP_PATH` to values; closes #253 --- hyperglass/main.py | 3 +++ hyperglass/models/main.py | 14 +++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/hyperglass/main.py b/hyperglass/main.py index 88ac911..51d21da 100644 --- a/hyperglass/main.py +++ b/hyperglass/main.py @@ -162,6 +162,9 @@ def run(workers: int = None): log.bind( version=__version__, listening=f"http://{Settings.bind()}", + app_path=f"{Settings.app_path.absolute()!s}", + container=Settings.container, + original_app_path=f"{Settings.original_app_path.absolute()!s}", workers=_workers, ).info( "Starting hyperglass", diff --git a/hyperglass/models/main.py b/hyperglass/models/main.py index 672dd2c..d4fa3ae 100644 --- a/hyperglass/models/main.py +++ b/hyperglass/models/main.py @@ -59,15 +59,23 @@ class HyperglassModel(BaseModel): if isinstance(value, Path): if Settings.container: return Settings.default_app_path.joinpath( - *(p for p in value.parts if p not in Settings.original_app_path.parts) + *( + p + for p in value.parts + if p not in Settings.original_app_path.absolute().parts + ) ) - if isinstance(value, str) and str(Settings.original_app_path) in value: + if isinstance(value, str) and str(Settings.original_app_path.absolute()) in value: if Settings.container: path = Path(value) return str( Settings.default_app_path.joinpath( - *(p for p in path.parts if p not in Settings.original_app_path.parts) + *( + p + for p in path.parts + if p not in Settings.original_app_path.absolute().parts + ) ) )