Author: Philip Jenvey <[email protected]>
Branch:
Changeset: r64658:a6a2200b5fb0
Date: 2013-05-28 18:14 -0700
http://bitbucket.org/pypy/pypy/changeset/a6a2200b5fb0/
Log: fix the broken, unused descr_repr
diff --git a/pypy/module/_multiprocessing/interp_connection.py
b/pypy/module/_multiprocessing/interp_connection.py
--- a/pypy/module/_multiprocessing/interp_connection.py
+++ b/pypy/module/_multiprocessing/interp_connection.py
@@ -7,7 +7,8 @@
from pypy.interpreter.baseobjspace import W_Root
from pypy.interpreter.error import (
OperationError, operationerrfmt, wrap_oserror)
-from pypy.interpreter.gateway import WrappedDefault, interp2app, unwrap_spec
+from pypy.interpreter.gateway import (
+ WrappedDefault, interp2app, interpindirect2app, unwrap_spec)
from pypy.interpreter.typedef import GetSetProperty, TypeDef
READABLE, WRITABLE = range(1, 3)
@@ -62,6 +63,14 @@
def writable_get(self, space):
return space.newbool(bool(self.flags & WRITABLE))
+ def _repr(self, space, handle):
+ conn_type = ["read-only", "write-only", "read-write"][self.flags - 1]
+ return space.wrap("<%s %s, handle %d>" % (
+ conn_type, space.type(self).getname(space), handle))
+
+ def descr_repr(self, space):
+ raise NotImplementedError
+
def _check_readable(self, space):
if not self.flags & READABLE:
raise OperationError(space.w_IOError,
@@ -178,6 +187,7 @@
W_BaseConnection.typedef = TypeDef(
'BaseConnection',
+ __repr__ = interpindirect2app(W_BaseConnection.descr_repr),
closed = GetSetProperty(W_BaseConnection.closed_get),
readable = GetSetProperty(W_BaseConnection.readable_get),
writable = GetSetProperty(W_BaseConnection.writable_get),
@@ -240,6 +250,9 @@
W_FileConnection.__init__(self, space, fd, flags)
return space.wrap(self)
+ def descr_repr(self, space):
+ return self._repr(space, self.fd)
+
def fileno(self, space):
return space.wrap(self.fd)
@@ -361,10 +374,7 @@
return space.wrap(self)
def descr_repr(self, space):
- conn_type = ["read-only", "write-only", "read-write"][self.flags]
-
- return space.wrap("<%s %s, handle %zd>" % (
- conn_type, space.type(self).getname(space), self.do_fileno()))
+ return self._repr(space, self.handle)
def is_valid(self):
return self.handle != self.INVALID_HANDLE_VALUE
diff --git a/pypy/module/_multiprocessing/test/test_connection.py
b/pypy/module/_multiprocessing/test/test_connection.py
--- a/pypy/module/_multiprocessing/test/test_connection.py
+++ b/pypy/module/_multiprocessing/test/test_connection.py
@@ -173,3 +173,11 @@
assert data1 == '\x00\x00\x00\x03abc'
data2 = sock.recv(8)
assert data2 == '\x00\x00\x00\x04defg'
+
+ def test_repr(self):
+ import _multiprocessing
+ c = _multiprocessing.Connection(1)
+ assert repr(c) == '<read-write Connection, handle 1>'
+ if hasattr(_multiprocessing, 'PipeConnection'):
+ c = _multiprocessing.PipeConnection(1)
+ assert repr(c) == '<read-write Connection, handle 1>'
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit