Update json_to_md.py
This commit is contained in:
+32
-18
@@ -72,28 +72,42 @@ def json_to_md_nested(json_path, md_path, allure_dir=None):
|
||||
|
||||
if "collectors" in data:
|
||||
f.write("## 📚 Collectés\n")
|
||||
|
||||
# Group by file / subpath
|
||||
grouped_collectors = defaultdict(list)
|
||||
for collector in data["collectors"]:
|
||||
outcome = collector.get("outcome", "unknown")
|
||||
emoji = "✅" if outcome == "passed" else "❌"
|
||||
nodeid = collector.get("nodeid", "unknown")
|
||||
short_node = nodeid.split("[")[0]
|
||||
f.write(f"<details>\n<summary>{emoji} `{short_node}`</summary>\n\n")
|
||||
f.write(f"- **outcome:** `{outcome}`\n")
|
||||
results = collector.get("result", [])
|
||||
if results:
|
||||
f.write("- **result:**\n```\n")
|
||||
for item in results:
|
||||
if isinstance(item, dict):
|
||||
for k, v in item.items():
|
||||
f.write(f"{k}: {v}\n")
|
||||
f.write("\n")
|
||||
else:
|
||||
f.write(f"{item}\n")
|
||||
f.write("```\n")
|
||||
else:
|
||||
f.write("- **result:** `None`\n")
|
||||
base = nodeid.split("::")[0].replace("\\", "/") # Normalize paths
|
||||
grouped_collectors[base].append(collector)
|
||||
|
||||
for base_path in sorted(grouped_collectors):
|
||||
f.write(f"<details>\n<summary>📁 `{base_path}`</summary>\n\n")
|
||||
for collector in grouped_collectors[base_path]:
|
||||
outcome = collector.get("outcome", "unknown")
|
||||
emoji = "✅" if outcome == "passed" else "❌"
|
||||
nodeid = collector.get("nodeid", "unknown")
|
||||
short_node = nodeid.split("[")[0]
|
||||
|
||||
f.write(f"<details>\n<summary>{emoji} `{short_node}`</summary>\n\n")
|
||||
f.write(f"- **outcome:** `{outcome}`\n")
|
||||
|
||||
results = collector.get("result", [])
|
||||
if results:
|
||||
f.write("- **result:**\n```\n")
|
||||
for item in results:
|
||||
if isinstance(item, dict):
|
||||
for k, v in item.items():
|
||||
f.write(f"{k}: {v}\n")
|
||||
f.write("\n")
|
||||
else:
|
||||
f.write(f"{item}\n")
|
||||
f.write("```\n")
|
||||
else:
|
||||
f.write("- **result:** `None`\n")
|
||||
f.write("</details>\n\n")
|
||||
f.write("</details>\n\n")
|
||||
|
||||
|
||||
if "tests" in data:
|
||||
f.write("## 🔎 Tests\n")
|
||||
grouped = defaultdict(lambda: defaultdict(list))
|
||||
|
||||
Reference in New Issue
Block a user