Moved things around a bit in interact(), so outout is processed before

input.  When an EOF is read, break out of the loop instead of (by
default) writing an empty line (which doesn't do much good).  Don't
close self when falling through the loop.
This commit is contained in:
Guido van Rossum 1997-12-29 20:05:45 +00:00
parent 588f38ec2a
commit 5baf4bc978
1 changed files with 5 additions and 4 deletions

View File

@ -376,9 +376,6 @@ class Telnet:
"""Interaction function, emulates a very dumb telnet client."""
while 1:
rfd, wfd, xfd = select.select([self, sys.stdin], [], [])
if sys.stdin in rfd:
line = sys.stdin.readline()
self.write(line)
if self in rfd:
try:
text = self.read_eager()
@ -388,7 +385,11 @@ class Telnet:
if text:
sys.stdout.write(text)
sys.stdout.flush()
self.close()
if sys.stdin in rfd:
line = sys.stdin.readline()
if not line:
break
self.write(line)
def expect(self, list, timeout=None):
"""Read until one from a list of a regular expressions matches.