"""Miscellaneous functions for the mudpy engine."""
-# Copyright (c) 2004-2019 mudpy authors. Permission to use, copy,
+# Copyright (c) 2004-2020 mudpy authors. Permission to use, copy,
# modify, and distribute this software is granted under terms
# provided in the LICENSE file distributed with this software.
self.password_tries = 0
self.state = "telopt_negotiation"
self.telopts = {}
+ self.ttype = None
self.universe = universe
def quit(self):
else:
self.check_idle()
+ # ask the client for their current terminal type (RFC 1091); it's None
+ # if it's not been initialized, the empty string if it has but the
+ # output was indeterminate, "UNKNOWN" if the client specified it has no
+ # terminal types to supply
+ if self.ttype is None:
+ mudpy.telnet.request_ttype(self)
+
# if output is paused, decrement the counter
if self.state == "telopt_negotiation":
if self.negotiation_pause:
# check for some input
try:
raw_input = self.connection.recv(1024)
- except (BlockingIOError, OSError):
+ except OSError:
raw_input = b""
# we got something