[pypy-commit] pypy space-newtext: _socket

cfbolz pypy.commits at gmail.com
Wed Nov 2 09:03:54 EDT 2016


Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: space-newtext
Changeset: r88078:bf0813413c80
Date: 2016-11-02 14:02 +0100
http://bitbucket.org/pypy/pypy/changeset/bf0813413c80/

Log:	_socket

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
@@ -18,7 +18,7 @@
         res = rsocket.gethostname()
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(res)
+    return space.newtext(res)
 
 @unwrap_spec(host=str)
 def gethostbyname(space, host):
@@ -31,12 +31,12 @@
         ip = addr.get_host()
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(ip)
+    return space.newtext(ip)
 
 def common_wrapgethost(space, (name, aliases, address_list)):
-    aliases = [space.wrap(alias) for alias in aliases]
-    address_list = [space.wrap(addr.get_host()) for addr in address_list]
-    return space.newtuple([space.wrap(name),
+    aliases = [space.newtext(alias) for alias in aliases]
+    address_list = [space.newtext(addr.get_host()) for addr in address_list]
+    return space.newtuple([space.newtext(name),
                            space.newlist(aliases),
                            space.newlist(address_list)])
 
@@ -82,7 +82,7 @@
         port = rsocket.getservbyname(name, proto)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(port)
+    return space.newint(port)
 
 @unwrap_spec(port=int, w_proto = WrappedDefault(None))
 def getservbyport(space, port, w_proto):
@@ -104,7 +104,7 @@
         service = rsocket.getservbyport(port, proto)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(service)
+    return space.newtext(service)
 
 @unwrap_spec(name=str)
 def getprotobyname(space, name):
@@ -116,7 +116,7 @@
         proto = rsocket.getprotobyname(name)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(proto)
+    return space.newint(proto)
 
 @unwrap_spec(flags=int)
 def getnameinfo(space, w_sockaddr, flags):
@@ -128,7 +128,7 @@
         host, servport = rsocket.getnameinfo(addr, flags)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.newtuple([space.wrap(host), space.wrap(servport)])
+    return space.newtuple([space.newtext(host), space.newtext(servport)])
 
 @unwrap_spec(fd=int, family=int, type=int, proto=int)
 def fromfd(space, fd, family, type, proto=0):
@@ -141,7 +141,7 @@
         sock = rsocket.fromfd(fd, family, type, proto)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(W_Socket(space, sock))
+    return W_Socket(space, sock)
 
 @unwrap_spec(family=int, type=int, proto=int)
 def socketpair(space, family=rsocket.socketpair_default_family,
@@ -159,8 +159,8 @@
     except SocketError as e:
         raise converted_error(space, e)
     return space.newtuple([
-        space.wrap(W_Socket(space, sock1)),
-        space.wrap(W_Socket(space, sock2))
+        W_Socket(space, sock1),
+        W_Socket(space, sock2)
     ])
 
 # The following 4 functions refuse all negative numbers, like CPython 2.6.
@@ -172,7 +172,7 @@
 
     Convert a 16-bit integer from network to host byte order.
     """
-    return space.wrap(rsocket.ntohs(intmask(x)))
+    return space.newint(rsocket.ntohs(intmask(x)))
 
 @unwrap_spec(x="c_uint")
 def ntohl(space, x):
@@ -180,7 +180,7 @@
 
     Convert a 32-bit integer from network to host byte order.
     """
-    return space.wrap(rsocket.ntohl(x))
+    return space.newint(rsocket.ntohl(x))
 
 @unwrap_spec(x="c_uint")
 def htons(space, x):
@@ -188,7 +188,7 @@
 
     Convert a 16-bit integer from host to network byte order.
     """
-    return space.wrap(rsocket.htons(intmask(x)))
+    return space.newint(rsocket.htons(intmask(x)))
 
 @unwrap_spec(x="c_uint")
 def htonl(space, x):
@@ -196,7 +196,7 @@
 
     Convert a 32-bit integer from host to network byte order.
     """
-    return space.wrap(rsocket.htonl(x))
+    return space.newint(rsocket.htonl(x))
 
 @unwrap_spec(ip=str)
 def inet_aton(space, ip):
@@ -221,7 +221,7 @@
         ip = rsocket.inet_ntoa(packed)
     except SocketError as e:
         raise converted_error(space, e)
-    return space.wrap(ip)
+    return space.newtext(ip)
 
 @unwrap_spec(family=int, ip=str)
 def inet_pton(space, family, ip):
@@ -249,7 +249,7 @@
     except ValueError:
         raise oefmt(space.w_ValueError,
                     "invalid length of packed IP address string")
-    return space.wrap(ip)
+    return space.newtext(ip)
 
 @unwrap_spec(family=int, socktype=int, proto=int, flags=int)
 def getaddrinfo(space, w_host, w_port,
@@ -265,7 +265,7 @@
     elif space.isinstance_w(w_host, space.w_str):
         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"))
+        w_shost = space.call_method(w_host, "encode", space.newtext("idna"))
         host = space.bytes_w(w_shost)
     else:
         raise oefmt(space.w_TypeError,
@@ -286,10 +286,10 @@
                                   proto, flags)
     except SocketError as e:
         raise converted_error(space, e)
-    lst1 = [space.newtuple([space.wrap(family),
-                            space.wrap(socktype),
-                            space.wrap(protocol),
-                            space.wrap(canonname),
+    lst1 = [space.newtuple([space.newint(family),
+                            space.newint(socktype),
+                            space.newint(protocol),
+                            space.newtext(canonname),
                             addr_as_object(addr, INVALID_SOCKET, space)]) # -1 as per cpython
             for (family, socktype, protocol, canonname, addr) in lst]
     return space.newlist(lst1)
@@ -304,7 +304,7 @@
     timeout = rsocket.getdefaulttimeout()
     if timeout < 0.0:
         return space.w_None
-    return space.wrap(timeout)
+    return space.newfloat(timeout)
 
 def setdefaulttimeout(space, w_timeout):
     if space.is_w(w_timeout, space.w_None):
diff --git a/pypy/module/_socket/interp_socket.py b/pypy/module/_socket/interp_socket.py
--- a/pypy/module/_socket/interp_socket.py
+++ b/pypy/module/_socket/interp_socket.py
@@ -16,27 +16,27 @@
 )
 
 
-# XXX Hack to seperate rpython and pypy
+# XXX Hack to separate rpython and pypy
 def addr_as_object(addr, fd, space):
     if isinstance(addr, rsocket.INETAddress):
-        return space.newtuple([space.wrap(addr.get_host()),
-                               space.wrap(addr.get_port())])
+        return space.newtuple([space.newtext(addr.get_host()),
+                               space.newint(addr.get_port())])
     elif isinstance(addr, rsocket.INET6Address):
-        return space.newtuple([space.wrap(addr.get_host()),
-                               space.wrap(addr.get_port()),
-                               space.wrap(addr.get_flowinfo()),
-                               space.wrap(addr.get_scope_id())])
+        return space.newtuple([space.newtext(addr.get_host()),
+                               space.newint(addr.get_port()),
+                               space.wrap(addr.get_flowinfo()), # YYY
+                               space.wrap(addr.get_scope_id())]) # YYY
     elif rsocket.HAS_AF_PACKET and isinstance(addr, rsocket.PacketAddress):
-        return space.newtuple([space.wrap(addr.get_ifname(fd)),
-                               space.wrap(addr.get_protocol()),
-                               space.wrap(addr.get_pkttype()),
-                               space.wrap(addr.get_hatype()),
-                               space.wrap(addr.get_haddr())])
+        return space.newtuple([space.newtext(addr.get_ifname(fd)),
+                               space.newint(addr.get_protocol()),
+                               space.newint(addr.get_pkttype()),
+                               space.newint(addr.get_hatype()),
+                               space.newtext(addr.get_haddr())])
     elif rsocket.HAS_AF_UNIX and isinstance(addr, rsocket.UNIXAddress):
-        return space.wrap(addr.get_path())
+        return space.newtext(addr.get_path())
     elif rsocket.HAS_AF_NETLINK and isinstance(addr, rsocket.NETLINKAddress):
-        return space.newtuple([space.wrap(addr.get_pid()),
-                               space.wrap(addr.get_groups())])
+        return space.newtuple([space.newint(addr.get_pid()),
+                               space.newint(addr.get_groups())])
     # If we don't know the address family, don't raise an
     # exception -- return it as a tuple.
     from rpython.rlib import _rsocket_rffi as _c
@@ -45,8 +45,8 @@
     datalen = addr.addrlen - rsocket.offsetof(_c.sockaddr, 'c_sa_data')
     rawdata = ''.join([a.c_sa_data[i] for i in range(datalen)])
     addr.unlock()
-    return space.newtuple([space.wrap(family),
-                          space.wrap(rawdata)])
+    return space.newtuple([space.newint(family),
+                           space.newtext(rawdata)])
 
 # XXX Hack to seperate rpython and pypy
 # XXX a bit of code duplication
@@ -144,7 +144,7 @@
 
 # XXX Hack to seperate rpython and pypy
 def ipaddr_from_object(space, w_sockaddr):
-    host = space.str_w(space.getitem(w_sockaddr, space.wrap(0)))
+    host = space.str_w(space.getitem(w_sockaddr, space.newint(0)))
     addr = rsocket.makeipaddr(host)
     fill_from_object(addr, space, w_sockaddr)
     return addr
@@ -166,21 +166,21 @@
         if is_open and self.space.sys.track_resources:
             w_repr = self.space.repr(self)
             str_repr = self.space.str_w(w_repr)
-            w_msg = self.space.wrap("WARNING: unclosed " + str_repr)
+            w_msg = self.space.newtext("WARNING: unclosed " + str_repr)
             self.space.resource_warning(w_msg, self.w_tb)
 
     def get_type_w(self, space):
-        return space.wrap(self.sock.type)
+        return space.newint(self.sock.type)
 
     def get_proto_w(self, space):
-        return space.wrap(self.sock.proto)
+        return space.newint(self.sock.proto)
 
     def get_family_w(self, space):
-        return space.wrap(self.sock.family)
+        return space.newint(self.sock.family)
 
     def descr_repr(self, space):
         fd = intmask(self.sock.fd)  # Force to signed type even on Windows.
-        return space.wrap("<socket object, fd=%d, family=%d,"
+        return space.newtext("<socket object, fd=%d, family=%d,"
                           " type=%d, protocol=%d>" %
                           (fd, self.sock.family,
                            self.sock.type, self.sock.proto))
@@ -196,7 +196,7 @@
             fd, addr = self.sock.accept()
             sock = rsocket.make_socket(
                 fd, self.sock.family, self.sock.type, self.sock.proto)
-            return space.newtuple([space.wrap(W_Socket(space, sock)),
+            return space.newtuple([W_Socket(space, sock),
                                    addr_as_object(addr, sock.fd, space)])
         except SocketError as e:
             raise converted_error(space, e)
@@ -256,7 +256,7 @@
         except SocketError as e:
             raise converted_error(space, e)
         error = self.sock.connect_ex(addr)
-        return space.wrap(error)
+        return space.newint(error)
 
     def dup_w(self, space):
         try:
@@ -270,7 +270,7 @@
 
         Return the integer file descriptor of the socket.
         """
-        return space.wrap(intmask(self.sock.fd))
+        return space.newint(intmask(self.sock.fd))
 
     def getpeername_w(self, space):
         """getpeername() -> address info
@@ -306,7 +306,7 @@
         """
         if w_buflen is None:
             try:
-                return space.wrap(self.sock.getsockopt_int(level, optname))
+                return space.newint(self.sock.getsockopt_int(level, optname))
             except SocketError as e:
                 raise converted_error(space, e)
         buflen = space.int_w(w_buflen)
@@ -321,7 +321,7 @@
         timeout = self.sock.gettimeout()
         if timeout < 0.0:
             return space.w_None
-        return space.wrap(timeout)
+        return space.newfloat(timeout)
 
     @unwrap_spec(backlog="c_int")
     def listen_w(self, space, backlog):
@@ -389,7 +389,7 @@
             count = self.sock.send(data, flags)
         except SocketError as e:
             raise converted_error(space, e)
-        return space.wrap(count)
+        return space.newint(count)
 
     @unwrap_spec(data='bufferstr', flags=int)
     def sendall_w(self, space, data, flags=0):
@@ -426,7 +426,7 @@
             count = self.sock.sendto(data, flags, addr)
         except SocketError as e:
             raise converted_error(space, e)
-        return space.wrap(count)
+        return space.newint(count)
 
     @unwrap_spec(flag=bool)
     def setblocking_w(self, flag):
@@ -484,7 +484,7 @@
         if nbytes == 0 or nbytes > lgt:
             nbytes = lgt
         try:
-            return space.wrap(self.sock.recvinto(rwbuffer, nbytes, flags))
+            return space.newint(self.sock.recvinto(rwbuffer, nbytes, flags))
         except SocketError as e:
             raise converted_error(space, e)
 
@@ -503,7 +503,7 @@
                 w_addr = addr_as_object(addr, self.sock.fd, space)
             else:
                 w_addr = space.w_None
-            return space.newtuple([space.wrap(readlgt), w_addr])
+            return space.newtuple([space.newint(readlgt), w_addr])
         except SocketError as e:
             raise converted_error(space, e)
 
@@ -544,7 +544,7 @@
                 if value_ptr:
                     lltype.free(value_ptr, flavor='raw')
 
-            return space.wrap(recv_ptr[0])
+            return space.wrap(recv_ptr[0]) # YYY
         finally:
             lltype.free(recv_ptr, flavor='raw')
 
@@ -605,7 +605,7 @@
     except SocketError as e:
         raise converted_error(space, e)
     W_Socket.__init__(self, space, sock)
-    return space.wrap(self)
+    return self
 descr_socket_new = interp2app(newsocket)
 
 
@@ -678,10 +678,10 @@
     message = e.get_msg()
     w_exception_class = get_error(space, e.applevelerrcls)
     if isinstance(e, SocketErrorWithErrno):
-        w_exception = space.call_function(w_exception_class, space.wrap(e.errno),
-                                      space.wrap(message))
+        w_exception = space.call_function(w_exception_class, space.newint(e.errno),
+                                      space.newtext(message))
     else:
-        w_exception = space.call_function(w_exception_class, space.wrap(message))
+        w_exception = space.call_function(w_exception_class, space.newtext(message))
     return OperationError(w_exception_class, w_exception)
 
 # ____________________________________________________________


More information about the pypy-commit mailing list