NullBite 3814d6175f
Add packwiz-wrapper package
this searches up the directory tree for a pack.toml before executing
packwiz
2024-03-23 16:13:03 -04:00

35 lines
774 B
Python
Executable File

#!/usr/bin/env python3
import sys, os
from pathlib import Path
# Returns a parent path with pack.toml, or None if it can't be found
def search_recursive(dir: str | os.PathLike) -> Path | None:
dir = Path(dir)
pack = dir / "pack.toml"
if pack.is_file():
return dir
# If we've made it to / without finding it, return None
if dir.samefile("/"):
return None
# Otherwise, recurse
return search_recursive(dir / "..")
def search(dir: str | os.PathLike) -> Path:
new_dir = search_recursive(dir)
if new_dir is not None:
return new_dir
else:
return Path(dir)
def main():
args = ["packwiz"] + sys.argv[1:]
os.chdir(search("."))
os.execvp("packwiz", args)
if __name__ == "__main__":
main()