-# -*- coding: utf-8 -*-
"""Telnet functions and constants for the mudpy engine."""
-# Copyright (c) 2004-2013 Jeremy Stanley <fungi@yuggoth.org>. Permission
+# Copyright (c) 2004-2015 Jeremy Stanley <fungi@yuggoth.org>. Permission
# to use, copy, modify, and distribute this software is granted under
# terms provided in the LICENSE file distributed with this software.
+import mudpy
+
# telnet options (from bsd's arpa/telnet.h since telnetlib's are ambiguous)
TELOPT_BINARY = 0 # transmit 8-bit data by the receiver (rfc 856)
TELOPT_ECHO = 1 # echo received data back to the sender (rfc 857)
def is_enabled(user, telopt, party, state=YES):
- """Returns True if the indicated Telnet option is enabled, False if
- not."""
+ """Indicates whether a specified Telnet option is enabled."""
if (telopt, party) in user.telopts and user.telopts[
(telopt, party)
] is state:
def disable(user, telopt, party):
- """Negotiates disabling a Telnet option for the indicated user's
- socket."""
+ """Negotiates disabling a Telnet option for the user's socket."""
if party is HIM:
txneg = DONT
else:
def negotiate_telnet_options(user):
"""Reply to and remove telnet negotiation options from partial_input."""
- import mudpy.misc
# make a local copy to play with
text = user.partial_input
elif len_text > position + 4 and command is SB:
telopt = ord(text[position + 2])
if telopt is TELOPT_NAWS:
- user.columns = ord(text[position + 3]) * \
- 256 + ord(text[position + 4])
+ user.columns = (
+ ord(text[position + 3]) * 256 + ord(text[position + 4]))
end_subnegotiation = text.find(telnet_proto(IAC, SE), position)
if end_subnegotiation > 0:
text = text[:position] + text[end_subnegotiation + 2:]