Kaydet (Commit) daa524a2 authored tarafından Antoine Pitrou's avatar Antoine Pitrou

Fix py3k warnings in the socket module

üst e08dd117
...@@ -46,7 +46,7 @@ the setsockopt() and getsockopt() methods. ...@@ -46,7 +46,7 @@ the setsockopt() and getsockopt() methods.
import _socket import _socket
from _socket import * from _socket import *
from functools import partial from functools import partial
from new import instancemethod from types import MethodType
try: try:
import _ssl import _ssl
...@@ -224,7 +224,7 @@ for _m in _socketmethods: ...@@ -224,7 +224,7 @@ for _m in _socketmethods:
p = partial(meth,_m) p = partial(meth,_m)
p.__name__ = _m p.__name__ = _m
p.__doc__ = getattr(_realsocket,_m).__doc__ p.__doc__ = getattr(_realsocket,_m).__doc__
m = instancemethod(p,None,_socketobject) m = MethodType(p,None,_socketobject)
setattr(_socketobject,_m,m) setattr(_socketobject,_m,m)
socket = SocketType = _socketobject socket = SocketType = _socketobject
...@@ -294,14 +294,15 @@ class _fileobject(object): ...@@ -294,14 +294,15 @@ class _fileobject(object):
buffer_size = max(self._rbufsize, self.default_bufsize) buffer_size = max(self._rbufsize, self.default_bufsize)
data_size = len(data) data_size = len(data)
write_offset = 0 write_offset = 0
view = memoryview(data)
try: try:
while write_offset < data_size: while write_offset < data_size:
self._sock.sendall(buffer(data, write_offset, buffer_size)) self._sock.sendall(view[write_offset:write_offset+buffer_size])
write_offset += buffer_size write_offset += buffer_size
finally: finally:
if write_offset < data_size: if write_offset < data_size:
remainder = data[write_offset:] remainder = data[write_offset:]
del data # explicit free del view, data # explicit free
self._wbuf.append(remainder) self._wbuf.append(remainder)
self._wbuf_len = len(remainder) self._wbuf_len = len(remainder)
...@@ -346,7 +347,7 @@ class _fileobject(object): ...@@ -346,7 +347,7 @@ class _fileobject(object):
try: try:
data = self._sock.recv(rbufsize) data = self._sock.recv(rbufsize)
except error, e: except error, e:
if e[0] == EINTR: if e.args[0] == EINTR:
continue continue
raise raise
if not data: if not data:
...@@ -375,7 +376,7 @@ class _fileobject(object): ...@@ -375,7 +376,7 @@ class _fileobject(object):
try: try:
data = self._sock.recv(left) data = self._sock.recv(left)
except error, e: except error, e:
if e[0] == EINTR: if e.args[0] == EINTR:
continue continue
raise raise
if not data: if not data:
...@@ -430,7 +431,7 @@ class _fileobject(object): ...@@ -430,7 +431,7 @@ class _fileobject(object):
except error, e: except error, e:
# The try..except to catch EINTR was moved outside the # The try..except to catch EINTR was moved outside the
# recv loop to avoid the per byte overhead. # recv loop to avoid the per byte overhead.
if e[0] == EINTR: if e.args[0] == EINTR:
continue continue
raise raise
break break
...@@ -442,7 +443,7 @@ class _fileobject(object): ...@@ -442,7 +443,7 @@ class _fileobject(object):
try: try:
data = self._sock.recv(self._rbufsize) data = self._sock.recv(self._rbufsize)
except error, e: except error, e:
if e[0] == EINTR: if e.args[0] == EINTR:
continue continue
raise raise
if not data: if not data:
...@@ -471,7 +472,7 @@ class _fileobject(object): ...@@ -471,7 +472,7 @@ class _fileobject(object):
try: try:
data = self._sock.recv(self._rbufsize) data = self._sock.recv(self._rbufsize)
except error, e: except error, e:
if e[0] == EINTR: if e.args[0] == EINTR:
continue continue
raise raise
if not data: if not data:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment