improve typing

This commit is contained in:
Daniel 2023-11-21 22:19:33 +01:00
parent c7d0ba9273
commit 14c0c073e4

View file

@ -1,5 +1,5 @@
from pathlib import Path from pathlib import Path
from typing import Optional, Protocol from typing import Protocol
from dotenv import dotenv_values from dotenv import dotenv_values
from icecream import ic from icecream import ic
@ -10,7 +10,7 @@ class TestRunner(Protocol):
def __init__(self, dotenv_path: Path): def __init__(self, dotenv_path: Path):
... ...
def run_tests(): def run_tests(self):
... ...
@ -20,13 +20,11 @@ RUNNER_DICT: dict[str, type[TestRunner]] = {"wordpress": RunnerWordpress}
class Wrapper: class Wrapper:
def __init__(self, dotenv_path: Path): def __init__(self, dotenv_path: Path):
assert dotenv_path.is_file() assert dotenv_path.is_file()
config: dict[str, Optional[str]] = dotenv_values(dotenv_path) config: dict[str, str] = dotenv_values(dotenv_path)
runner = self.load_runner(config, dotenv_path) runner = self.load_runner(config, dotenv_path)
runner.run_tests() runner.run_tests()
def load_runner( def load_runner(self, config: dict[str, str], dotenv_path: Path) -> TestRunner:
self, config: dict[str, Optional[str]], dotenv_path: Path
) -> TestRunner:
config_type = config["TYPE"] config_type = config["TYPE"]
ic(config_type) ic(config_type)
RunnerClass = RUNNER_DICT[config_type] RunnerClass = RUNNER_DICT[config_type]