Mercurial > hg
comparison tests/get-with-headers.py @ 28726:f4b31fcd5e72
py3: use print_function in get-with-headers.py
author | Robert Stanca <robert.stanca7@gmail.com> |
---|---|
date | Sat, 02 Apr 2016 18:12:33 +0300 |
parents | 8e86679d8acd |
children | 0c741fd6158a |
comparison
equal
deleted
inserted
replaced
28725:3cf1995dbdd5 | 28726:f4b31fcd5e72 |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 | 2 |
3 """This does HTTP GET requests given a host:port and path and returns | 3 """This does HTTP GET requests given a host:port and path and returns |
4 a subset of the headers plus the body of the result.""" | 4 a subset of the headers plus the body of the result.""" |
5 | 5 |
6 from __future__ import absolute_import | 6 from __future__ import absolute_import, print_function |
7 | 7 |
8 import httplib | 8 import httplib |
9 import json | 9 import json |
10 import os | 10 import os |
11 import sys | 11 import sys |
39 headers['If-None-Match'] = tag | 39 headers['If-None-Match'] = tag |
40 | 40 |
41 conn = httplib.HTTPConnection(host) | 41 conn = httplib.HTTPConnection(host) |
42 conn.request("GET", '/' + path, None, headers) | 42 conn.request("GET", '/' + path, None, headers) |
43 response = conn.getresponse() | 43 response = conn.getresponse() |
44 print response.status, response.reason | 44 print(response.status, response.reason) |
45 if show[:1] == ['-']: | 45 if show[:1] == ['-']: |
46 show = sorted(h for h, v in response.getheaders() | 46 show = sorted(h for h, v in response.getheaders() |
47 if h.lower() not in show) | 47 if h.lower() not in show) |
48 for h in [h.lower() for h in show]: | 48 for h in [h.lower() for h in show]: |
49 if response.getheader(h, None) is not None: | 49 if response.getheader(h, None) is not None: |
50 print "%s: %s" % (h, response.getheader(h)) | 50 print("%s: %s" % (h, response.getheader(h))) |
51 if not headeronly: | 51 if not headeronly: |
52 print | 52 print() |
53 data = response.read() | 53 data = response.read() |
54 | 54 |
55 # Pretty print JSON. This also has the beneficial side-effect | 55 # Pretty print JSON. This also has the beneficial side-effect |
56 # of verifying emitted JSON is well-formed. | 56 # of verifying emitted JSON is well-formed. |
57 if formatjson: | 57 if formatjson: |
58 # json.dumps() will print trailing newlines. Eliminate them | 58 # json.dumps() will print trailing newlines. Eliminate them |
59 # to make tests easier to write. | 59 # to make tests easier to write. |
60 data = json.loads(data) | 60 data = json.loads(data) |
61 lines = json.dumps(data, sort_keys=True, indent=2).splitlines() | 61 lines = json.dumps(data, sort_keys=True, indent=2).splitlines() |
62 for line in lines: | 62 for line in lines: |
63 print line.rstrip() | 63 print(line.rstrip()) |
64 else: | 64 else: |
65 sys.stdout.write(data) | 65 sys.stdout.write(data) |
66 | 66 |
67 if twice and response.getheader('ETag', None): | 67 if twice and response.getheader('ETag', None): |
68 tag = response.getheader('ETag') | 68 tag = response.getheader('ETag') |