diff --git a/json_to_md.py b/json_to_md.py index e756d512a..d1adbaca4 100644 --- a/json_to_md.py +++ b/json_to_md.py @@ -52,42 +52,25 @@ def make_test_block(test, status, emoji, level): nodeid = test.get("nodeid", "") param_str = extract_param_str_from_nodeid(nodeid) - # 🔹 Récupération automatique des champs avant 'nodeid' - pre_nodeid_fields = [] - for key in test: - if key == "nodeid": - break - pre_nodeid_fields.append(key) - - body_test = "" - for key in pre_nodeid_fields: - val = test[key] - if val is None: - body_test += f"- **{key.capitalize()}:** `None`\n" - else: - body_test += f"- **{key.capitalize()}:** `{stringify(val)}`\n" - if param_str: body_test += f"- **Parameters:** `{param_str}`\n" - # 🔁 Identifier dynamiquement les phases (dictionnaires après nodeid) - skip_keys = set(pre_nodeid_fields + ["nodeid"]) + skip_keys = set(["nodeid"]) phase_keys = [k for k in test.keys() if isinstance(test[k], dict) and k not in skip_keys] for phase in phase_keys: phase_body = "" - for field, value in test[phase].items(): - if value is None: - phase_body += f"- **{field.capitalize()}:** None\n" - else: - details_body = "\n" - details_body += stringify(value) + "\n" - details_body += "\n" - phase_body += get_details_block(f"📌 {field.capitalize()}", details_body, level+2) - if phase_body: - body_test += f"\n### 🔧 {phase.capitalize()} Phase\n\n" + phase_body + for field, value in test[phase].items(): # 🟢 ici l'indentation est corrigée + if value is None: + phase_body += f"- **{field.capitalize()}:** None\n" + else: + details_body = "```\n" + details_body += stringify(value) + "\n" + details_body += "```\n" + phase_body += get_details_block(f"📌 {field.capitalize()}", details_body, level+2) + if phase_body: + body_test += f"\n### 🔧 {phase.capitalize()} Phase\n\n" + phase_body - # Ajoute param_str au résumé si dispo return get_details_block(f"{emoji} #{test['global_number']}", body_test, level+1, params_str=param_str)