From b7a3e51d19357d69c009837a99470a97c0786075 Mon Sep 17 00:00:00 2001
From: Nuvole <jon-lee@sjtu.edu.cn>
Date: Wed, 23 Oct 2024 22:55:31 +0800
Subject: [PATCH] fix: result-status

---
 joj3_config_generator/convert.py  | 12 ++++++++++++
 joj3_config_generator/lib/task.py |  6 ++++--
 2 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/joj3_config_generator/convert.py b/joj3_config_generator/convert.py
index 4db2a23..da16e50 100644
--- a/joj3_config_generator/convert.py
+++ b/joj3_config_generator/convert.py
@@ -90,6 +90,18 @@ def convert(repo_conf: repo.Config, task_conf: task.Config) -> result.Config:
             if task_stage.result_detail is not None:
                 result_detail_parser.with_.update(task_stage.result_detail)
 
+        if "dummy" in task_stage.parsers:
+            dummy_parser = next(p for p in conf_stage.parsers if p.name == "dummy")
+            if task_stage.dummy is not None:
+                dummy_parser.with_.update(task_stage.dummy)
+
+        if "result-status" in task_stage.parsers:
+            result_status_parser = next(
+                p for p in conf_stage.parsers if p.name == "result-status"
+            )
+            if task_stage.result_status is not None:
+                result_status_parser.with_.update(task_stage.result_status)
+
         conf_stage = fix_comment(task_stage, conf_stage)
         conf_stage = fix_keyword(task_stage, conf_stage)
 
diff --git a/joj3_config_generator/lib/task.py b/joj3_config_generator/lib/task.py
index 3b8208c..a5b0d36 100644
--- a/joj3_config_generator/lib/task.py
+++ b/joj3_config_generator/lib/task.py
@@ -25,8 +25,10 @@ def fix_comment(task_stage: TaskStage, conf_stage: ResultStage) -> ResultStage:
     for parser in task_stage.parsers:
         if parser in comment_parser:
             comment_parser_ = next(p for p in conf_stage.parsers if p.name == parser)
-            if getattr(task_stage, parser, None) is not None:
-                comment_parser_.with_.update(getattr(task_stage, parser))
+            if getattr(task_stage, parser.replace("-", "_"), None) is not None:
+                comment_parser_.with_.update(
+                    getattr(task_stage, parser.replace("-", "_"))
+                )
         else:
             continue
     return conf_stage