summaryrefslogtreecommitdiff
path: root/src/mailman/tests/test_documentation.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-07-20 23:13:59 -0400
committerBarry Warsaw2009-07-20 23:13:59 -0400
commitbf1204e9c920588adf649033d5db02bb7d75d640 (patch)
treeeced2471a91d7ebc7e5ac56ee204c64b8f0fe564 /src/mailman/tests/test_documentation.py
parentd9ad19e86ff658a74870fb488cd74e5002b63bc3 (diff)
downloadmailman-bf1204e9c920588adf649033d5db02bb7d75d640.tar.gz
mailman-bf1204e9c920588adf649033d5db02bb7d75d640.tar.zst
mailman-bf1204e9c920588adf649033d5db02bb7d75d640.zip
Diffstat (limited to 'src/mailman/tests/test_documentation.py')
-rw-r--r--src/mailman/tests/test_documentation.py19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/mailman/tests/test_documentation.py b/src/mailman/tests/test_documentation.py
index 0409e737c..81762c5cc 100644
--- a/src/mailman/tests/test_documentation.py
+++ b/src/mailman/tests/test_documentation.py
@@ -37,6 +37,7 @@ import doctest
import unittest
from email import message_from_string
+from urllib import urlencode
from urllib2 import urlopen
import mailman
@@ -109,16 +110,28 @@ def dump_msgdata(msgdata, *additional_skips):
print '{0:{2}}: {1}'.format(key, msgdata[key], longest)
-def dump_json(url):
+def dump_json(url, data=None):
"""Print the JSON dictionary read from a URL.
:param url: The url to open, read, and print.
:type url: string
+ :param data: Data to use to POST to a URL.
+ :type data: dict
"""
- fp = urlopen(url)
+ if data is None:
+ fp = urlopen(url)
+ else:
+ fp = urlopen(url, urlencode(data))
# fp does not support the context manager protocol.
try:
- data = json.load(fp)
+ raw_data = fp.read()
+ if len(raw_data) == 0:
+ print 'URL:', fp.geturl()
+ info = fp.info()
+ for header in sorted(info):
+ print '{0}: {1}'.format(header, info[header])
+ return
+ data = json.loads(raw_data)
finally:
fp.close()
for key in sorted(data):