From 59bb045b1ceee6ab7cfb1b87c164dbfb274e2044 Mon Sep 17 00:00:00 2001 From: tligui_y Date: Sun, 13 Jul 2025 22:59:50 +0200 Subject: [PATCH] Update json_to_md.py --- json_to_md.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/json_to_md.py b/json_to_md.py index 844c99fd2..614ae8b63 100644 --- a/json_to_md.py +++ b/json_to_md.py @@ -23,6 +23,19 @@ def normalize_nodeid(nodeid): return f"{file_part}#{func_part}" return None +def write_json_value(f, value, indent=0): + prefix = " " * indent + if isinstance(value, dict): + for k, v in value.items(): + f.write(f"{prefix}{k}:\n") + write_json_value(f, v, indent + 1) + elif isinstance(value, list): + for i, item in enumerate(value): + f.write(f"{prefix}- item {i}:\n") + write_json_value(f, item, indent + 1) + else: + f.write(f"{prefix}{value}\n") + def load_allure_metadata(allure_test_cases_dir): allure_data = {} if not os.path.exists(allure_test_cases_dir): @@ -134,14 +147,7 @@ def json_to_md_nested(json_path, md_path, allure_dir=None): continue f.write(f"
\n📌 {field.capitalize()}\n\n") f.write("```\n") - if isinstance(value, dict): - for k, v in value.items(): - f.write(f"{k}: {v}\n") - elif isinstance(value, list): - for item in value: - f.write(f"{item}\n") - else: - f.write(f"{value}\n") + write_json_value(f, value) f.write("```\n") f.write("
\n\n") @@ -199,12 +205,7 @@ def json_to_md_nested(json_path, md_path, allure_dir=None): for k, v in other_keys.items(): f.write(f"{k}:\n") try: - if isinstance(v, (dict, list)): - f.write(json.dumps(v, indent=2, ensure_ascii=False) + "\n") - elif isinstance(v, (str, int, float, bool)) or v is None: - f.write(f" {v}\n") - else: - f.write(f" \n") + write_json_value(f, v, indent=1) except Exception as e: f.write(f" \n") f.write("\n")