refactor: better code style
This commit is contained in:
		
							parent
							
								
									635405ea2b
								
							
						
					
					
						commit
						c36e710668
					
				|  | @ -4,18 +4,10 @@ from typing import Set | |||
| from joj3_config_generator.models import joj1, repo, result, task | ||||
| from joj3_config_generator.models.const import CACHE_ROOT, JOJ3_CONFIG_ROOT | ||||
| from joj3_config_generator.processers.repo import ( | ||||
|     get_health_check_config, | ||||
|     get_health_check_stage, | ||||
|     get_teapot_stage, | ||||
| ) | ||||
| from joj3_config_generator.processers.task import ( | ||||
|     fix_diff, | ||||
|     fix_dummy, | ||||
|     fix_file, | ||||
|     fix_keyword, | ||||
|     fix_result_detail, | ||||
|     get_conf_stage, | ||||
|     get_executor_with_config, | ||||
| ) | ||||
| from joj3_config_generator.processers.task import get_conf_stage | ||||
| 
 | ||||
| 
 | ||||
| def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config: | ||||
|  | @ -34,18 +26,11 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config: | |||
|     current_test = os.environ.get("PYTEST_CURRENT_TEST") is not None | ||||
|     # Construct health check stage | ||||
|     if not repo_conf.force_skip_health_check_on_test or not current_test: | ||||
|         result_conf.stage.stages.append(get_health_check_config(repo_conf)) | ||||
|         result_conf.stage.stages.append(get_health_check_stage(repo_conf)) | ||||
|     cached: Set[str] = set() | ||||
|     # Convert each stage in the task configuration | ||||
|     for task_stage in task_conf.stages: | ||||
|         executor_with_config = get_executor_with_config(task_stage, cached) | ||||
|         conf_stage = get_conf_stage(task_stage, executor_with_config) | ||||
|         conf_stage = fix_result_detail(task_stage, conf_stage) | ||||
|         conf_stage = fix_dummy(task_stage, conf_stage) | ||||
|         conf_stage = fix_keyword(task_stage, conf_stage) | ||||
|         conf_stage = fix_file(task_stage, conf_stage) | ||||
|         conf_stage = fix_diff(task_stage, conf_stage, task_conf) | ||||
|         result_conf.stage.stages.append(conf_stage) | ||||
|         result_conf.stage.stages.append(get_conf_stage(task_conf, task_stage, cached)) | ||||
|     if not repo_conf.force_skip_teapot_on_test or not current_test: | ||||
|         result_conf.stage.post_stages.append(get_teapot_stage(repo_conf)) | ||||
| 
 | ||||
|  |  | |||
|  | @ -67,7 +67,7 @@ def get_teapot_check_args(repo_conf: repo.Config) -> List[str]: | |||
|     ] | ||||
| 
 | ||||
| 
 | ||||
| def get_health_check_config(repo_conf: repo.Config) -> result.StageDetail: | ||||
| def get_health_check_stage(repo_conf: repo.Config) -> result.StageDetail: | ||||
|     health_check_stage = result.StageDetail( | ||||
|         name="Health Check", | ||||
|         group="", | ||||
|  |  | |||
|  | @ -7,7 +7,9 @@ from joj3_config_generator.models.const import JOJ3_CONFIG_ROOT | |||
| 
 | ||||
| 
 | ||||
| def get_conf_stage( | ||||
|     task_stage: task.Stage, executor_with_config: result.ExecutorWith | ||||
|     task_conf: task.Config, | ||||
|     task_stage: task.Stage, | ||||
|     cached: Set[str], | ||||
| ) -> result.StageDetail: | ||||
|     conf_stage = result.StageDetail( | ||||
|         name=task_stage.name, | ||||
|  | @ -20,7 +22,7 @@ def get_conf_stage( | |||
|         ), | ||||
|         executor=result.Executor( | ||||
|             name="sandbox", | ||||
|             with_=executor_with_config, | ||||
|             with_=get_executor_with(task_stage, cached), | ||||
|         ), | ||||
|         parsers=( | ||||
|             [ | ||||
|  | @ -29,12 +31,15 @@ def get_conf_stage( | |||
|             ] | ||||
|         ), | ||||
|     ) | ||||
|     fix_result_detail(task_stage, conf_stage) | ||||
|     fix_dummy(task_stage, conf_stage) | ||||
|     fix_keyword(task_stage, conf_stage) | ||||
|     fix_file(task_stage, conf_stage) | ||||
|     fix_diff(task_stage, task_conf, conf_stage) | ||||
|     return conf_stage | ||||
| 
 | ||||
| 
 | ||||
| def get_executor_with_config( | ||||
|     task_stage: task.Stage, cached: Set[str] | ||||
| ) -> result.ExecutorWith: | ||||
| def get_executor_with(task_stage: task.Stage, cached: Set[str]) -> result.ExecutorWith: | ||||
|     file_import = task_stage.files.import_ | ||||
|     copy_in_files = [file for file in file_import if file not in cached] | ||||
|     file_export = task_stage.files.export | ||||
|  | @ -97,11 +102,9 @@ def fix_keyword( | |||
|     return conf_stage | ||||
| 
 | ||||
| 
 | ||||
| def fix_result_detail( | ||||
|     task_stage: task.Stage, conf_stage: result.StageDetail | ||||
| ) -> result.StageDetail: | ||||
| def fix_result_detail(task_stage: task.Stage, conf_stage: result.StageDetail) -> None: | ||||
|     if "result-detail" not in task_stage.parsers: | ||||
|         return conf_stage | ||||
|         return | ||||
|     result_detail_parser = next( | ||||
|         p for p in conf_stage.parsers if p.name == "result-detail" | ||||
|     ) | ||||
|  | @ -121,12 +124,8 @@ def fix_result_detail( | |||
|         ).model_dump(by_alias=True) | ||||
|     ) | ||||
| 
 | ||||
|     return conf_stage | ||||
| 
 | ||||
| 
 | ||||
| def fix_dummy( | ||||
|     task_stage: task.Stage, conf_stage: result.StageDetail | ||||
| ) -> result.StageDetail: | ||||
| def fix_dummy(task_stage: task.Stage, conf_stage: result.StageDetail) -> None: | ||||
|     dummy_parser = [ | ||||
|         "dummy", | ||||
|         "result-status", | ||||
|  | @ -146,28 +145,25 @@ def fix_dummy( | |||
|                 force_quit_on_not_accepted=task_stage.result_status.force_quit, | ||||
|             ).model_dump(by_alias=True) | ||||
|         ) | ||||
|     return conf_stage | ||||
|     return | ||||
| 
 | ||||
| 
 | ||||
| def fix_file( | ||||
|     task_stage: task.Stage, conf_stage: result.StageDetail | ||||
| ) -> result.StageDetail: | ||||
| def fix_file(task_stage: task.Stage, conf_stage: result.StageDetail) -> None: | ||||
|     file_parser = ["file"] | ||||
|     for parser in task_stage.parsers: | ||||
|         if parser not in file_parser: | ||||
|             continue | ||||
|         file_parser_ = next(p for p in conf_stage.parsers if p.name == parser) | ||||
|         file_parser_.with_.update({"name": task_stage.file.name}) | ||||
|     return conf_stage | ||||
| 
 | ||||
| 
 | ||||
| def fix_diff( | ||||
|     task_stage: task.Stage, | ||||
|     conf_stage: result.StageDetail, | ||||
|     task_conf: task.Config, | ||||
| ) -> result.StageDetail: | ||||
|     conf_stage: result.StageDetail, | ||||
| ) -> None: | ||||
|     if "diff" not in task_stage.parsers: | ||||
|         return conf_stage | ||||
|         return | ||||
|     diff_parser = next((p for p in conf_stage.parsers if p.name == "diff"), None) | ||||
|     skip = task_stage.skip | ||||
|     cases = task_stage.cases | ||||
|  | @ -229,4 +225,4 @@ def fix_diff( | |||
|         diff_parser.with_.update({"name": "diff", "cases": parser_cases}) | ||||
|         conf_stage.executor.with_.cases = stage_cases | ||||
| 
 | ||||
|     return conf_stage | ||||
|     return | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user