Mercurial > public > mercurial-scm > hg
annotate mercurial/urllibcompat.py @ 43076:2372284d9457
formatting: blacken the codebase
This is using my patch to black
(https://github.com/psf/black/pull/826) so we don't un-wrap collection
literals.
Done with:
hg files 'set:**.py - mercurial/thirdparty/** - "contrib/python-zstandard/**"' | xargs black -S
# skip-blame mass-reformatting only
# no-check-commit reformats foo_bar functions
Differential Revision: https://phab.mercurial-scm.org/D6971
author | Augie Fackler <augie@google.com> |
---|---|
date | Sun, 06 Oct 2019 09:45:02 -0400 |
parents | 5774fc623a18 |
children | 687b865b95ad |
rev | line source |
---|---|
34465
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
1 # urllibcompat.py - adapters to ease using urllib2 on Py2 and urllib on Py3 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
2 # |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
3 # Copyright 2017 Google, Inc. |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
4 # |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
5 # This software may be used and distributed according to the terms of the |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
6 # GNU General Public License version 2 or any later version. |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
7 from __future__ import absolute_import |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
8 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
9 from . import pycompat |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
10 |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
11 _sysstr = pycompat.sysstr |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
12 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
13 |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
14 class _pycompatstub(object): |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
15 def __init__(self): |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
16 self._aliases = {} |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
17 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
18 def _registeraliases(self, origin, items): |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
19 """Add items that will be populated at the first access""" |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
20 items = map(_sysstr, items) |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
21 self._aliases.update( |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
22 (item.replace(r'_', r'').lower(), (origin, item)) for item in items |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
23 ) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
24 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
25 def _registeralias(self, origin, attr, name): |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
26 """Alias ``origin``.``attr`` as ``name``""" |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
27 self._aliases[_sysstr(name)] = (origin, _sysstr(attr)) |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
28 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
29 def __getattr__(self, name): |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
30 try: |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
31 origin, item = self._aliases[name] |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
32 except KeyError: |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
33 raise AttributeError(name) |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
34 self.__dict__[name] = obj = getattr(origin, item) |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
35 return obj |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
36 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
37 |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
38 httpserver = _pycompatstub() |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
39 urlreq = _pycompatstub() |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
40 urlerr = _pycompatstub() |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
41 |
34465
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
42 if pycompat.ispy3: |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
43 import urllib.parse |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
44 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
45 urlreq._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
46 urllib.parse, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
47 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
48 "splitattr", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
49 "splitpasswd", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
50 "splitport", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
51 "splituser", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
52 "urlparse", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
53 "urlunparse", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
54 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
55 ) |
36077
a3d42d1865f1
wireprotoserver: define and use parse_qs from urllib
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34467
diff
changeset
|
56 urlreq._registeralias(urllib.parse, "parse_qs", "parseqs") |
36809
3c15b84ab66c
hgweb: teach WSGI parser about query strings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36077
diff
changeset
|
57 urlreq._registeralias(urllib.parse, "parse_qsl", "parseqsl") |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
58 urlreq._registeralias(urllib.parse, "unquote_to_bytes", "unquote") |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
59 import urllib.request |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
60 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
61 urlreq._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
62 urllib.request, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
63 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
64 "AbstractHTTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
65 "BaseHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
66 "build_opener", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
67 "FileHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
68 "FTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
69 "ftpwrapper", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
70 "HTTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
71 "HTTPSHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
72 "install_opener", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
73 "pathname2url", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
74 "HTTPBasicAuthHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
75 "HTTPDigestAuthHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
76 "HTTPPasswordMgrWithDefaultRealm", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
77 "ProxyHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
78 "Request", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
79 "url2pathname", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
80 "urlopen", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
81 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
82 ) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
83 import urllib.response |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
84 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
85 urlreq._registeraliases(urllib.response, ("addclosehook", "addinfourl",)) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
86 import urllib.error |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
87 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
88 urlerr._registeraliases(urllib.error, ("HTTPError", "URLError",)) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
89 import http.server |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
90 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
91 httpserver._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
92 http.server, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
93 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
94 "HTTPServer", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
95 "BaseHTTPRequestHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
96 "SimpleHTTPRequestHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
97 "CGIHTTPRequestHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
98 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
99 ) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
100 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
101 # urllib.parse.quote() accepts both str and bytes, decodes bytes |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
102 # (if necessary), and returns str. This is wonky. We provide a custom |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
103 # implementation that only accepts bytes and emits bytes. |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
104 def quote(s, safe=r'/'): |
40159
5774fc623a18
py3: coerce bytestr to bytes to appease urllib.parse.quote_from_bytes()
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36835
diff
changeset
|
105 # bytestr has an __iter__ that emits characters. quote_from_bytes() |
5774fc623a18
py3: coerce bytestr to bytes to appease urllib.parse.quote_from_bytes()
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36835
diff
changeset
|
106 # does an iteration and expects ints. We coerce to bytes to appease it. |
5774fc623a18
py3: coerce bytestr to bytes to appease urllib.parse.quote_from_bytes()
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36835
diff
changeset
|
107 if isinstance(s, pycompat.bytestr): |
5774fc623a18
py3: coerce bytestr to bytes to appease urllib.parse.quote_from_bytes()
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36835
diff
changeset
|
108 s = bytes(s) |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
109 s = urllib.parse.quote_from_bytes(s, safe=safe) |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
110 return s.encode('ascii', 'strict') |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
111 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
112 # urllib.parse.urlencode() returns str. We use this function to make |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
113 # sure we return bytes. |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
114 def urlencode(query, doseq=False): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
115 s = urllib.parse.urlencode(query, doseq=doseq) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
116 return s.encode('ascii') |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
117 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
118 urlreq.quote = quote |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
119 urlreq.urlencode = urlencode |
34465
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
120 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
121 def getfullurl(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
122 return req.full_url |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
123 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
124 def gethost(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
125 return req.host |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
126 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
127 def getselector(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
128 return req.selector |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
129 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
130 def getdata(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
131 return req.data |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
132 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
133 def hasdata(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
134 return req.data is not None |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
135 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
136 |
34465
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
137 else: |
34467
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
138 import BaseHTTPServer |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
139 import CGIHTTPServer |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
140 import SimpleHTTPServer |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
141 import urllib2 |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
142 import urllib |
192f7b126ed2
urllibcompat: move some adapters from pycompat to urllibcompat
Augie Fackler <augie@google.com>
parents:
34465
diff
changeset
|
143 import urlparse |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
144 |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
145 urlreq._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
146 urllib, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
147 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
148 "addclosehook", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
149 "addinfourl", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
150 "ftpwrapper", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
151 "pathname2url", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
152 "quote", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
153 "splitattr", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
154 "splitpasswd", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
155 "splitport", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
156 "splituser", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
157 "unquote", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
158 "url2pathname", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
159 "urlencode", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
160 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
161 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
162 urlreq._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
163 urllib2, |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
164 ( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
165 "AbstractHTTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
166 "BaseHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
167 "build_opener", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
168 "FileHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
169 "FTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
170 "HTTPBasicAuthHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
171 "HTTPDigestAuthHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
172 "HTTPHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
173 "HTTPPasswordMgrWithDefaultRealm", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
174 "HTTPSHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
175 "install_opener", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
176 "ProxyHandler", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
177 "Request", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
178 "urlopen", |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
179 ), |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
180 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
181 urlreq._registeraliases(urlparse, ("urlparse", "urlunparse",)) |
36077
a3d42d1865f1
wireprotoserver: define and use parse_qs from urllib
Gregory Szorc <gregory.szorc@gmail.com>
parents:
34467
diff
changeset
|
182 urlreq._registeralias(urlparse, "parse_qs", "parseqs") |
36809
3c15b84ab66c
hgweb: teach WSGI parser about query strings
Gregory Szorc <gregory.szorc@gmail.com>
parents:
36077
diff
changeset
|
183 urlreq._registeralias(urlparse, "parse_qsl", "parseqsl") |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
184 urlerr._registeraliases(urllib2, ("HTTPError", "URLError",)) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
185 httpserver._registeraliases( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
186 BaseHTTPServer, ("HTTPServer", "BaseHTTPRequestHandler",) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
187 ) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
188 httpserver._registeraliases(SimpleHTTPServer, ("SimpleHTTPRequestHandler",)) |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
40159
diff
changeset
|
189 httpserver._registeraliases(CGIHTTPServer, ("CGIHTTPRequestHandler",)) |
34465
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
190 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
191 def gethost(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
192 return req.get_host() |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
193 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
194 def getselector(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
195 return req.get_selector() |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
196 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
197 def getfullurl(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
198 return req.get_full_url() |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
199 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
200 def getdata(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
201 return req.get_data() |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
202 |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
203 def hasdata(req): |
80d4681150b9
urllibcompat: new library to help abstract out some python3 urllib2 stuff
Augie Fackler <augie@google.com>
parents:
diff
changeset
|
204 return req.has_data() |