feat: diff.output.xxx -> diff.xxx #26
|
@ -79,6 +79,24 @@ class ParserKeyword(BaseModel):
|
|||
weight: List[int] = []
|
||||
|
||||
|
||||
class ParserDiffOutputs(BaseModel):
|
||||
score: int = 0
|
||||
ignore_spaces: bool = Field(
|
||||
True, validation_alias=AliasChoices("ignore-spaces", "ignore_spaces")
|
||||
)
|
||||
hide: bool = False
|
||||
force_quit: bool = Field(
|
||||
False, validation_alias=AliasChoices("force-quit", "force_quit")
|
||||
)
|
||||
max_length: int = Field(
|
||||
2048, validation_alias=AliasChoices("max-length", "max_length")
|
||||
)
|
||||
max_lines: int = Field(50, validation_alias=AliasChoices("max-lines", "max_lines"))
|
||||
hide_common_prefix: bool = Field(
|
||||
False, validation_alias=AliasChoices("hide-common-prefix", "hide_common_prefix")
|
||||
)
|
||||
|
||||
|
||||
class ParserDiff(BaseModel):
|
||||
score: int = DEFAULT_CASE_SCORE
|
||||
ignore_spaces: bool = Field(
|
||||
|
@ -95,6 +113,23 @@ class ParserDiff(BaseModel):
|
|||
hide_common_prefix: bool = Field(
|
||||
False, validation_alias=AliasChoices("hide-common-prefix", "hide_common_prefix")
|
||||
)
|
||||
# remove below codes when migration is complete
|
||||
output: ParserDiffOutputs = ParserDiffOutputs()
|
||||
default_score: int = Field(
|
||||
DEFAULT_CASE_SCORE,
|
||||
validation_alias=AliasChoices("default-score", "default_score"),
|
||||
)
|
||||
|
||||
@model_validator(mode="after")
|
||||
def copy_output_fields(self) -> "ParserDiff":
|
||||
if "default_score" in self.model_fields_set:
|
||||
self.score = self.default_score
|
||||
if not isinstance(self.output, ParserDiffOutputs):
|
||||
return self
|
||||
for field_name, field_value in self.output.model_dump().items():
|
||||
if field_name in self.output.model_fields_set and hasattr(self, field_name):
|
||||
setattr(self, field_name, field_value)
|
||||
return self
|
||||
|
||||
|
||||
class StageFiles(BaseModel):
|
||||
|
|
Loading…
Reference in New Issue
Block a user