Author: Amaury Forgeot d'Arc <amaur...@gmail.com> Branch: py3k Changeset: r48332:c4c393a85de6 Date: 2011-10-22 00:24 +0200 http://bitbucket.org/pypy/pypy/changeset/c4c393a85de6/
Log: Correctly implement isatty() on text files. Important for the interactive mode! diff --git a/pypy/module/_io/interp_textio.py b/pypy/module/_io/interp_textio.py --- a/pypy/module/_io/interp_textio.py +++ b/pypy/module/_io/interp_textio.py @@ -448,6 +448,10 @@ space.wrap("<_io.TextIOWrapper %sencoding=%r>"), w_args ) + def isatty_w(self, space): + self._check_init(space) + return space.call_method(self.w_buffer, "isatty") + def readable_w(self, space): self._check_init(space) return space.call_method(self.w_buffer, "readable") @@ -993,6 +997,7 @@ close = interp2app(W_TextIOWrapper.close_w), line_buffering = interp_attrproperty("line_buffering", W_TextIOWrapper), + isatty = interp2app(W_TextIOWrapper.isatty_w), readable = interp2app(W_TextIOWrapper.readable_w), writable = interp2app(W_TextIOWrapper.writable_w), seekable = interp2app(W_TextIOWrapper.seekable_w), diff --git a/pypy/module/_io/test/test_textio.py b/pypy/module/_io/test/test_textio.py --- a/pypy/module/_io/test/test_textio.py +++ b/pypy/module/_io/test/test_textio.py @@ -29,6 +29,14 @@ assert t.readable() assert t.seekable() + def test_isatty(self): + import _io + class Tty(_io.BytesIO): + def isatty(self): + return True + txt = _io.TextIOWrapper(Tty()) + assert txt.isatty() + def test_unreadable(self): import _io class UnReadable(_io.BytesIO): _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit