diff --git a/joj3_config_generator/models/result.py b/joj3_config_generator/models/result.py index 524e63b..d18a3fd 100644 --- a/joj3_config_generator/models/result.py +++ b/joj3_config_generator/models/result.py @@ -223,6 +223,7 @@ class KeywordConfig(BaseModel): class KeywordMatchConfig(BaseModel): + score: int = 0 matches: List[KeywordConfig] = [] diff --git a/joj3_config_generator/models/task.py b/joj3_config_generator/models/task.py index f46cdf9..0931736 100644 --- a/joj3_config_generator/models/task.py +++ b/joj3_config_generator/models/task.py @@ -67,6 +67,7 @@ class ParserResultStatus(BaseModel): class ParserKeyword(BaseModel): + score: int = 0 keyword: List[str] = [] weight: List[int] = [] diff --git a/joj3_config_generator/transformers/task.py b/joj3_config_generator/transformers/task.py index ff8cc56..9c6a5a9 100644 --- a/joj3_config_generator/transformers/task.py +++ b/joj3_config_generator/transformers/task.py @@ -124,10 +124,11 @@ def fix_keyword( for keyword, score in zip(keyword_config.keyword, keyword_config.weight): score_groups.setdefault(score, []).append(keyword) keyword_parser.with_ = result.KeywordMatchConfig( + score=keyword_config.score, matches=[ result.KeywordConfig(keywords=keywords, score=score) for score, keywords in score_groups.items() - ] + ], )