summaryrefslogtreecommitdiff
path: root/python
AgeCommit message (Collapse)Author
2017-09-08Separate VyOSError and ConfigError.Daniil Baturin
VyOSError is now only raised on improper config operations and internal errors, such as trying to use a function on a wrong kind of node. ConfigError should be used by scripts to indicate configuration mistakes and error conditions.
2017-09-08Make the vyos.config.Config's return_value(s) and list_node functions behave ↵Daniil Baturin
like their Perl counterparts. Most scripts used to do something like my $foo = $config->returnValue("system foo"); if !defined($foo) { $foo = $defaultFooValue; } In most cases values do not exist because they are optional and simply not set. In a substantial minority of cases they don't exist but are mandatory, in this case it's probably a good practice to check if it exists first. In rare but frustrating cases returnValue returns undef because the path is wrong. It was tempting but as it turns out impractical to force the user to handle every undefined value as an error, but the cost of wrapping every return_value call in a try/except block is too high. Instead we should facilitate the most common case. For this, those functions now support an optional named argument default=None so an optional value with a sensible default can be handled like $foo = config.return_value("system foo", default="bar")
2017-09-08Automatically decode the output of cli-shell-api as ASCIIDaniil Baturin
to avoid having to decode it anywhere else.
2017-08-17T353: add the Python library for reading VyOS config to the new package.Daniil Baturin