refactor: remove redundant teapot config code
This commit is contained in:
		
							parent
							
								
									9f3d820ae3
								
							
						
					
					
						commit
						84e6f67f83
					
				|  | @ -7,7 +7,6 @@ import rtoml | |||
| from joj3_config_generator.models import joj1, repo, result, task | ||||
| from joj3_config_generator.processers.repo import (  # get_teapotcheck_config, | ||||
|     get_healthcheck_config, | ||||
|     get_teapot_config, | ||||
|     get_teapot_stage, | ||||
| ) | ||||
| from joj3_config_generator.processers.task import ( | ||||
|  | @ -39,7 +38,6 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config: | |||
|             sandbox_token=repo_conf.sandbox_token, | ||||
|             poststages=[get_teapot_stage(repo_conf)], | ||||
|         ), | ||||
|         teapot=get_teapot_config(repo_conf, task_conf), | ||||
|     ) | ||||
| 
 | ||||
|     # Construct healthcheck stage | ||||
|  |  | |||
|  | @ -121,29 +121,10 @@ class Stage(BaseModel): | |||
|     poststages: List[StageDetail] | ||||
| 
 | ||||
| 
 | ||||
| class Teapot(BaseModel): | ||||
|     log_path: str = Field( | ||||
|         "/home/tt/.cache/joint-teapot-debug.log", serialization_alias="logPath" | ||||
|     ) | ||||
|     scoreboard_path: str = Field("scoreboard.csv", serialization_alias="scoreboardPath") | ||||
|     failed_table_path: str = Field( | ||||
|         "failed-table.md", serialization_alias="failedTablePath" | ||||
|     ) | ||||
|     grading_repo_name: str = Field("", serialization_alias="gradingRepoName") | ||||
|     skip_issue: bool = Field(False, serialization_alias="skipIssue") | ||||
|     skip_scoreboard: bool = Field(False, serialization_alias="skipScoreboard") | ||||
|     skip_failed_table: bool = Field(False, serialization_alias="skipFailedTable") | ||||
|     max_total_score: int = Field(100, serialization_alias="maxTotalScore") | ||||
|     groups: List[Dict[str, Any]] = Field( | ||||
|         [{"name": "", "maxCount": 100, "timePeriodHour": 24}] | ||||
|     ) | ||||
| 
 | ||||
| 
 | ||||
| class Config(BaseModel): | ||||
|     name: str = "" | ||||
|     log_path: str = Field("", serialization_alias="logPath") | ||||
|     expire_unix_timestamp: int = Field(-1, serialization_alias="expireUnixTimestamp") | ||||
|     actor_csv_path: str = Field("", serialization_alias="actorpostStagesCsvPath") | ||||
|     actor_csv_path: str = Field("", serialization_alias="actorCsvPath") | ||||
|     max_total_score: int = Field(100, serialization_alias="maxTotalScore") | ||||
|     stage: Stage | ||||
|     teapot: Teapot  # FIXME: remove this | ||||
|  |  | |||
|  | @ -3,7 +3,7 @@ import shlex | |||
| import socket | ||||
| from pathlib import Path | ||||
| 
 | ||||
| from joj3_config_generator.models import repo, result, task | ||||
| from joj3_config_generator.models import repo, result | ||||
| 
 | ||||
| 
 | ||||
| def get_grading_repo_name() -> str: | ||||
|  | @ -13,44 +13,6 @@ def get_grading_repo_name() -> str: | |||
|     return f"{host_name.split('-')[0]}-joj" | ||||
| 
 | ||||
| 
 | ||||
| def get_teapot_config(repo_conf: repo.Config, task_conf: task.Config) -> result.Teapot: | ||||
|     groups_config = [] | ||||
|     for group_name in repo_conf.groups.name: | ||||
|         groups_config.append( | ||||
|             { | ||||
|                 "name": group_name, | ||||
|                 "maxCount": 1000, | ||||
|                 "timePeriodHour": 24, | ||||
|             } | ||||
|         ) | ||||
| 
 | ||||
|     for idx, max_count in enumerate(repo_conf.groups.max_count): | ||||
|         groups_config[idx]["maxCount"] = max_count | ||||
| 
 | ||||
|     for idx, time_period_hour in enumerate(repo_conf.groups.time_period_hour): | ||||
|         groups_config[idx]["timePeriodHour"] = time_period_hour | ||||
| 
 | ||||
|     teapot = result.Teapot( | ||||
|         # TODO: fix the log path | ||||
|         log_path=f"/home/tt/.cache/joj3/{task_conf.task.type_}-joint-teapot-debug.log", | ||||
|         # FIXME: may need to fix the path below | ||||
|         scoreboard_path=( | ||||
|             f"{task_conf.task.type_.split("/")[0]}/{task_conf.task.type_.split("/")[1]}-scoreboard.csv" | ||||
|             if task_conf.task.type_ is not None | ||||
|             else "scoreboard.csv" | ||||
|         ), | ||||
|         failed_table_path=( | ||||
|             f"{task_conf.task.type_.split("/")[0]}/{task_conf.task.type_.split("/")[1]}-failed-table.md" | ||||
|             if task_conf.task.type_ is not None | ||||
|             else "failed-table.md" | ||||
|         ), | ||||
|         grading_repo_name=get_grading_repo_name(), | ||||
|         max_total_score=repo_conf.max_total_score, | ||||
|         groups=groups_config, | ||||
|     ) | ||||
|     return teapot | ||||
| 
 | ||||
| 
 | ||||
| def get_teapot_stage(repo_conf: repo.Config) -> result.StageDetail: | ||||
|     args_ = "" | ||||
|     args_ = ( | ||||
|  |  | |||
|  | @ -9,7 +9,7 @@ def get_conf_stage( | |||
| ) -> result.StageDetail: | ||||
|     conf_stage = result.StageDetail( | ||||
|         name=task_stage.name if task_stage.name is not None else "", | ||||
|         # FIXME: to be deterined the way | ||||
|         # FIXME: to be deterined the way | ||||
|         # group=( | ||||
|         #     re.search(r'\[([^\[\]]+)\]', task_stage.name).group(1) | ||||
|         #     if (task_stage.name is not None and re.search(r'\[([^\[\]]+)\]', task_stage.name)) | ||||
|  |  | |||
|  | @ -2,7 +2,7 @@ | |||
|     "name": "hw7 ex2", | ||||
|     "logPath": "/home/tt/.cache/joj3/homework/h7/e2.log", | ||||
|     "expireUnixTimestamp": 1735574399, | ||||
|     "actorpostStagesCsvPath": "/home/tt/.config/joj/students.csv", | ||||
|     "actorCsvPath": "/home/tt/.config/joj/students.csv", | ||||
|     "maxTotalScore": 100, | ||||
|     "stage": { | ||||
|         "sandboxExecServer": "172.17.0.1:5051", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	Block a user