Author: Carl Friedrich Bolz <cfb...@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) # ____________________________________________________________ _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit