Added "raw_string" (unformatted, no stripping) as a property on commands, inspired by work by user Kelketek.
This commit is contained in:
parent
f0f240b7ce
commit
ca0920e635
2 changed files with 5 additions and 3 deletions
|
|
@ -180,7 +180,7 @@ def cmdhandler(caller, raw_string, testing=False):
|
||||||
if not cmdset:
|
if not cmdset:
|
||||||
# this is bad and shouldn't happen.
|
# this is bad and shouldn't happen.
|
||||||
raise NoCmdSets
|
raise NoCmdSets
|
||||||
|
unformatted_raw_string = raw_string
|
||||||
raw_string = raw_string.strip()
|
raw_string = raw_string.strip()
|
||||||
if not raw_string:
|
if not raw_string:
|
||||||
# Empty input. Test for system command instead.
|
# Empty input. Test for system command instead.
|
||||||
|
|
@ -248,6 +248,7 @@ def cmdhandler(caller, raw_string, testing=False):
|
||||||
cmd.cmdstring = cmdname
|
cmd.cmdstring = cmdname
|
||||||
cmd.args = args
|
cmd.args = args
|
||||||
cmd.cmdset = cmdset
|
cmd.cmdset = cmdset
|
||||||
|
cmd.raw_string = unformatted_raw_string
|
||||||
|
|
||||||
if hasattr(cmd, 'obj') and hasattr(cmd.obj, 'scripts'):
|
if hasattr(cmd, 'obj') and hasattr(cmd.obj, 'scripts'):
|
||||||
# cmd.obj are automatically made available.
|
# cmd.obj are automatically made available.
|
||||||
|
|
@ -289,6 +290,7 @@ def cmdhandler(caller, raw_string, testing=False):
|
||||||
syscmd.cmdstring = syscmd.key
|
syscmd.cmdstring = syscmd.key
|
||||||
syscmd.args = sysarg
|
syscmd.args = sysarg
|
||||||
syscmd.cmdset = cmdset
|
syscmd.cmdset = cmdset
|
||||||
|
syscmd.raw_string = unformatted_raw_string
|
||||||
|
|
||||||
if hasattr(syscmd, 'obj') and hasattr(syscmd.obj, 'scripts'):
|
if hasattr(syscmd, 'obj') and hasattr(syscmd.obj, 'scripts'):
|
||||||
# cmd.obj is automatically made available.
|
# cmd.obj is automatically made available.
|
||||||
|
|
|
||||||
|
|
@ -101,8 +101,8 @@ class TelnetProtocol(Telnet, StatefulTelnetProtocol, Session):
|
||||||
logger.log_trace()
|
logger.log_trace()
|
||||||
# if we get to this point the command must end with a linebreak.
|
# if we get to this point the command must end with a linebreak.
|
||||||
# We make sure to add it, to fix some clients messing this up.
|
# We make sure to add it, to fix some clients messing this up.
|
||||||
data = data.rstrip("\r\n") + "\r\n"
|
data = data.rstrip("\r\n") + "\n"
|
||||||
#print "line mode: (%s)" % data
|
#print "line data in:", repr(data)
|
||||||
StatefulTelnetProtocol.dataReceived(self, data)
|
StatefulTelnetProtocol.dataReceived(self, data)
|
||||||
|
|
||||||
def _write(self, data):
|
def _write(self, data):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue