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

Reply via email to