fix: separated result status models
All checks were successful
build / build (push) Successful in 2m11s
build / trigger-build-image (push) Successful in 9s

This commit is contained in:
张泊明518370910136 2025-06-14 05:52:06 -04:00
parent b14d83c37b
commit c6b833fbd5
GPG Key ID: D47306D7062CDA9D
4 changed files with 32 additions and 7 deletions

View File

@ -177,6 +177,12 @@ class Config(BaseModel):
class DummyConfig(BaseModel):
score: int = 0
comment: Optional[str] = None
force_quit: Optional[bool] = Field(False, serialization_alias="forceQuit")
class ResultStatusConfig(BaseModel):
score: int = 0
comment: Optional[str] = None
force_quit_on_not_accepted: Optional[bool] = Field(

View File

@ -58,6 +58,14 @@ class ParserDummy(BaseModel):
)
class ParserResultStatus(BaseModel):
comment: str = ""
score: int = 0
force_quit: bool = Field(
True, validation_alias=AliasChoices("force-quit", "force_quit")
)
class ParserKeyword(BaseModel):
keyword: List[str] = []
weight: List[int] = []
@ -151,8 +159,9 @@ class Stage(Case):
parsers: List[Parser] = [] # list of parsers
dummy: ParserDummy = ParserDummy()
result_status: ParserDummy = Field(
ParserDummy(), validation_alias=AliasChoices("result-status", "result_status")
result_status: ParserResultStatus = Field(
ParserResultStatus(),
validation_alias=AliasChoices("result-status", "result_status"),
)
keyword: ParserKeyword = ParserKeyword()
clangtidy: ParserKeyword = ParserKeyword()

View File

@ -61,7 +61,7 @@ def get_parser_handler_map(
task.Parser.CPPLINT: (fix_keyword, task_stage.cpplint),
task.Parser.RESULT_DETAIL: (fix_result_detail, task_stage.result_detail),
task.Parser.DUMMY: (fix_dummy, task_stage.dummy),
task.Parser.RESULT_STATUS: (fix_dummy, task_stage.result_status),
task.Parser.RESULT_STATUS: (fix_result_status, task_stage.result_status),
task.Parser.FILE: (fix_file, task_stage.file),
task.Parser.DIFF: (
partial(
@ -156,11 +156,21 @@ def fix_result_detail(
def fix_dummy(
dummy_parser_config: task.ParserDummy, dummy_parser: result.Parser
) -> None:
# we don't use dummy parser in real application
dummy_parser.with_ = result.DummyConfig(
score=dummy_parser_config.score,
comment=dummy_parser_config.comment,
force_quit_on_not_accepted=dummy_parser_config.force_quit,
force_quit=dummy_parser_config.force_quit,
)
def fix_result_status(
result_status_parser_config: task.ParserResultStatus,
result_status_parser: result.Parser,
) -> None:
result_status_parser.with_ = result.ResultStatusConfig(
score=result_status_parser_config.score,
comment=result_status_parser_config.comment,
force_quit_on_not_accepted=result_status_parser_config.force_quit,
)

View File

@ -559,7 +559,7 @@
"with": {
"score": 0,
"comment": "",
"forceQuitOnNotAccepted": false
"forceQuitOnNotAccepted": true
}
},
{
@ -573,7 +573,7 @@
"with": {
"score": 0,
"comment": "",
"forceQuitOnNotAccepted": false
"forceQuit": false
}
},
{