adds new method to return specific response from command to netcmd
This adds a new method that will return the output from a specified command that has already been excuted by the CommandRunner. The new method, get_command takes a single argument which is the full name of the command to retrieve.
This commit is contained in:
parent
54db1df244
commit
527e4196b2
1 changed files with 14 additions and 0 deletions
|
@ -163,9 +163,23 @@ class CommandRunner(object):
|
|||
self.retries = 10
|
||||
self.interval = 1
|
||||
|
||||
self._cache = dict()
|
||||
|
||||
def add_command(self, command, output=None):
|
||||
self.module.cli.add_commands(command, output=output)
|
||||
|
||||
def get_command(self, command):
|
||||
try:
|
||||
cmdobj = self._cache[command]
|
||||
return cmdobj.response
|
||||
except KeyError:
|
||||
for cmd in self.module.cli.commands:
|
||||
if str(cmd) == command:
|
||||
self._cache[command] = cmd
|
||||
return cmd.response
|
||||
raise ValueError("command '%s' not found" % command)
|
||||
|
||||
|
||||
def add_conditional(self, condition):
|
||||
self.conditionals.add(Conditional(condition))
|
||||
|
||||
|
|
Loading…
Reference in a new issue