This commit is contained in:
+15
-14
@@ -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"<details>\n<summary>📌 {field.capitalize()}</summary>\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("</details>\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" <non-serializable: {str(v)}>\n")
|
||||
write_json_value(f, v, indent=1)
|
||||
except Exception as e:
|
||||
f.write(f" <error formatting value: {e}>\n")
|
||||
f.write("\n")
|
||||
|
||||
Reference in New Issue
Block a user