Update cognee/root_dir.py
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
This commit is contained in:
parent
fde28725a4
commit
e063c49089
1 changed files with 14 additions and 7 deletions
|
|
@ -15,22 +15,29 @@ def ensure_absolute_path(
|
||||||
"""Ensures a path is absolute, optionally converting relative paths.
|
"""Ensures a path is absolute, optionally converting relative paths.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
path: The path to validate/convert
|
path: The path to validate/convert.
|
||||||
base_path: Optional base path for relative paths. If None, uses ROOT_DIR
|
base_path: Required base when converting relative paths (e.g., SYSTEM_ROOT_DIRECTORY).
|
||||||
allow_relative: If False, raises error for relative paths instead of converting
|
allow_relative: If False, raises error for relative paths instead of converting.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Absolute path as string
|
Absolute path as string
|
||||||
|
|
||||||
Raises:
|
Raises:
|
||||||
ValueError: If path is relative and allow_relative is False
|
ValueError: If path is None; or path is relative and allow_relative is False;
|
||||||
|
or base_path is missing/non-absolute when converting.
|
||||||
"""
|
"""
|
||||||
path_obj = Path(path)
|
if path is None:
|
||||||
|
raise ValueError("Path cannot be None")
|
||||||
|
path_obj = Path(path).expanduser()
|
||||||
if path_obj.is_absolute():
|
if path_obj.is_absolute():
|
||||||
return str(path_obj.resolve())
|
return str(path_obj.resolve())
|
||||||
|
|
||||||
if not allow_relative:
|
if not allow_relative:
|
||||||
raise ValueError(f"Path must be absolute. Got relative path: {path}")
|
raise ValueError(f"Path must be absolute. Got relative path: {path}")
|
||||||
|
|
||||||
base = Path(base_path) if base_path else ROOT_DIR
|
if base_path is None:
|
||||||
return str((base / path).resolve())
|
raise ValueError("base_path must be provided when converting relative paths")
|
||||||
|
base = Path(base_path).expanduser()
|
||||||
|
if not base.is_absolute():
|
||||||
|
raise ValueError("base_path must be absolute when converting relative paths")
|
||||||
|
return str((base / path_obj).resolve())
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue