From 367a79850c1c56561fa882a8b0aa7b55d28d0be2 Mon Sep 17 00:00:00 2001 From: Boming Zhang Date: Sun, 15 Jun 2025 10:49:54 -0400 Subject: [PATCH] feat: support score in keyword parsers --- joj3_config_generator/models/result.py | 1 + joj3_config_generator/models/task.py | 1 + joj3_config_generator/transformers/task.py | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) 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() - ] + ], )