debian-forge/osbuild/util/path.py
Achilleas Koutsou 901de63fb9 util/path: add path checker helper function
Checks if one path is a child of a second one. Useful for checking if
paths defined in a manifest exist inside the tree.
Optionally checks if the target path exists.
2021-06-28 19:07:42 +02:00

14 lines
449 B
Python

"""Path handling utility functions"""
import os.path
from .types import PathLike
def in_tree(path: PathLike, tree: PathLike, must_exist=False) -> bool:
"""Return whether the canonical location of 'path' is under 'tree'.
If 'must_exist' is True, the file must also exist for the check to succeed.
"""
path = os.path.abspath(path)
if path.startswith(tree):
return not must_exist or os.path.exists(path)
return False