remove PYTHONPATH stuff, add sys.path.append to create_runner_dict instead

This commit is contained in:
Daniel 2023-12-07 17:15:12 +01:00
parent 4c821a92b2
commit 9121128935
2 changed files with 7 additions and 6 deletions

View file

@ -1,5 +1,6 @@
import importlib
import re
import sys
from pathlib import Path
from loguru import logger
@ -90,11 +91,17 @@ class Coordinator:
"wordpress": RunnerWordpress,
"nextcloud": RunnerNextcloud,
}
The Runner classes are automatically imported with importlib. The imports are successful
because recipes_dir is added to sys.path.
"""
RUNNER_DICT: dict[str, type["Runner"]] = dict()
runner_discovery_pattern = re.compile("Runner.+")
# make it possible to import modules from recipes_dir
sys.path.append(recipes_dir.as_posix())
for module_path in recipes_dir.rglob("*/runner*.py"):
rel_path = module_path.relative_to(recipes_dir).as_posix().replace("/", ".").replace(".py", "")
module = importlib.import_module(rel_path)