Add support for when cwd is outside the project

E.g. Pycharm runs `/.../haldis/venv/bin/python /.../haldis/app/app.py` when no working directory is set.
This commit is contained in:
Maxim De Clercq 2023-04-19 21:18:44 +02:00
parent aab522eef9
commit 6bb11e49a3
No known key found for this signature in database
GPG key ID: D35643779C52BA70

View file

@ -1,7 +1,6 @@
# Import this class to load the standard HLDS definitions # Import this class to load the standard HLDS definitions
import subprocess import subprocess
from os import path from pathlib import Path
from typing import List from typing import List
from .models import Location from .models import Location
@ -12,10 +11,11 @@ __all__ = ["location_definitions", "location_definition_version"]
# pylint: disable=invalid-name # pylint: disable=invalid-name
# TODO Use proper way to get resources, see https://stackoverflow.com/a/10935674 # TODO Use proper way to get resources, see https://stackoverflow.com/a/10935674
DATA_DIR = path.join(path.dirname(__file__), "..", "..", "menus") ROOT_DIR = Path(__file__).parent.parent.parent
DATA_DIR = ROOT_DIR / "menus"
location_definitions: List[Location] = parse_all_directory(DATA_DIR) location_definitions: List[Location] = parse_all_directory(str(DATA_DIR))
location_definitions.sort(key=lambda l: l.name) location_definitions.sort(key=lambda l: l.name)
proc = subprocess.run(["git", "rev-parse", "HEAD"], stdout=subprocess.PIPE, check=True) proc = subprocess.run(["git", "rev-parse", "HEAD"], stdout=subprocess.PIPE, cwd=str(ROOT_DIR), check=True)
location_definition_version = proc.stdout.decode().strip() location_definition_version = proc.stdout.decode().strip()