Executor manager
register_executor(executor, override=False)
¶
Source code in testcase_maker/executor_manager.py
def register_executor(executor: Executor, override: bool = False) -> Executor:
if executor.file_extension in _registered_executors and not override:
raise ValueError(
f"Executor with extension '{executor.file_extension}' already exist. Set override to True to "
f"replace existing registered executor with the same file extension."
)
_registered_executors[executor.file_extension] = executor
return executor
get_executor_for_script(script_filename)
¶
Source code in testcase_maker/executor_manager.py
def get_executor_for_script(script_filename: Union["Path", str]) -> Executor:
try:
file_extension = str(script_filename).rsplit(".", 1)[1]
except IndexError:
raise ValueError(f"Script '{script_filename}' does not have a file extension.")
try:
executor = _registered_executors[file_extension]
except KeyError:
raise ValueError(f"No registered executor for script '{script_filename}' with extension '{file_extension}'.")
return executor