summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mailman/testing/documentation.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/mailman/testing/documentation.py b/src/mailman/testing/documentation.py
index d460be89f..421a272f4 100644
--- a/src/mailman/testing/documentation.py
+++ b/src/mailman/testing/documentation.py
@@ -109,6 +109,13 @@ def call_http(url, data=None, method=None, username=None, password=None):
return content
+def _print_dict(data, depth=0):
+ for item, value in sorted(data.items()):
+ if isinstance(value, dict):
+ _print_dict(value, depth+1)
+ print(' '*depth + '{}: {}'.format(item, value))
+
+
def dump_json(url, data=None, method=None, username=None, password=None):
"""Print the JSON dictionary read from a URL.
@@ -140,6 +147,9 @@ def dump_json(url, data=None, method=None, username=None, password=None):
printable_value = COMMASPACE.join(
"'{}'".format(s) for s in sorted(value))
print('{}: [{}]'.format(key, printable_value))
+ elif isinstance(value, dict):
+ print('{}:'.format(key))
+ _print_dict(value, 1)
else:
print('{}: {}'.format(key, value))