Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r89304:8da39ae6ab57
Date: 2017-01-02 17:03 +0100
http://bitbucket.org/pypy/pypy/changeset/8da39ae6ab57/
Log: call 'unicode.encode(x, "idna")' instead of 'x.encode("idna")', with
comment
diff --git a/pypy/module/_socket/interp_func.py
b/pypy/module/_socket/interp_func.py
--- a/pypy/module/_socket/interp_func.py
+++ b/pypy/module/_socket/interp_func.py
@@ -22,6 +22,8 @@
return space.fsdecode(space.newbytes(res))
def encode_idna(space, w_host):
+ # call unicode.encode(host, 'idna'), and not host.encode('idna') in
+ # case type(host) is not unicode
return space.bytes_w(space.call_method(space.w_unicode, 'encode',
w_host, space.wrap('idna')))
@@ -276,8 +278,7 @@
elif space.isinstance_w(w_host, space.w_bytes):
host = space.bytes_w(w_host)
elif space.isinstance_w(w_host, space.w_unicode):
- w_shost = space.call_method(w_host, "encode", space.wrap("idna"))
- host = space.bytes_w(w_shost)
+ host = encode_idna(space, w_host)
else:
raise oefmt(space.w_TypeError,
"getaddrinfo() argument 1 must be string or None")
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit