Allow exceptions in the textfsm parsing process to be handled by caller #348
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
When using the convenience function
response.textfsm_parse_output()
to parse output from commands, there is currently no way to tell the difference between a parsing exception and an "empty" command output. For example the output fromshow vrf
on a router with no vrfs will be empty and will return[]
, the same empty array will return if the vrf command fails to parse. There is currently a log message that will tell you something is wrong, however this cannot effect the control flow of the program allowing us to handle this error.This change adds an optional
raise_err
field totextfsm_parse_output()
to bubble the parsing exception up the stack. As its an optional field, existing code bases will continue to function as before.Type of change
Please delete options that are not relevant.
How Has This Been Tested?
Tests have been run
Checklist:
make lint
beforecommitting!)
docstrings include a summary, args, returns and raises fields (even if N/A)
note if there are any considerations for the vrnetlab setup