feat: support both new & old style for diff
This commit is contained in:
parent
a79f36bc0e
commit
f0c840f549
|
@ -79,6 +79,24 @@ class ParserKeyword(BaseModel):
|
||||||
weight: List[int] = []
|
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):
|
class ParserDiff(BaseModel):
|
||||||
score: int = DEFAULT_CASE_SCORE
|
score: int = DEFAULT_CASE_SCORE
|
||||||
ignore_spaces: bool = Field(
|
ignore_spaces: bool = Field(
|
||||||
|
@ -95,6 +113,23 @@ class ParserDiff(BaseModel):
|
||||||
hide_common_prefix: bool = Field(
|
hide_common_prefix: bool = Field(
|
||||||
False, validation_alias=AliasChoices("hide-common-prefix", "hide_common_prefix")
|
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):
|
class StageFiles(BaseModel):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user