adds new property command_string to Command object

This adds a new property to the Command object that is used to hold
modified command strings that could be different from the command used
to create the object.  This allows for seamless switch between text and
json enabled commands.
This commit is contained in:
Peter Sprygada 2016-08-25 22:08:11 -04:00
commit 9f1ac47f70

View file

@ -102,6 +102,7 @@ class Command(object):
self.command = command self.command = command
self.output = output self.output = output
self.command_string = command
self.prompt = prompt self.prompt = prompt
self.response = response self.response = response
@ -110,7 +111,7 @@ class Command(object):
self.delay = delay self.delay = delay
def __str__(self): def __str__(self):
return self.command return self.command_string
class CommandRunner(object): class CommandRunner(object):
@ -145,7 +146,7 @@ class CommandRunner(object):
return cmdobj.response return cmdobj.response
except KeyError: except KeyError:
for cmd in self.commands: for cmd in self.commands:
if str(cmd) == command and cmd.output == output: if cmd.command == command and cmd.output == output:
self._cache[(command, output)] = cmd self._cache[(command, output)] = cmd
return cmd.response return cmd.response
raise ValueError("command '%s' not found" % command) raise ValueError("command '%s' not found" % command)