v0.11 - reorganisation of parser/converter args
the parser action() method renamed to store() the new store() method, as well as the converter remove() and update() methods have been changed to use *args lists: * store() gets the groupdict() from the command regular expression match * remove() and update() get a variable length of arguments, instead of a fixed list called 'args' these changes avoid the need to unpack the passed structures into local variables, or explicitly index them, to get the arguments, making the code simpler and better checked also: the update() method now gets the old configuration, and the argument list has been reordered to 'old, upd, new' - some commands require the previous configuration to explicitly remove it, as just changing it is no sufficient (e.g. 'interface ... / ip flow monitor ...' requires the old monitor is removed first, before the new one can be added) errors in calling store(), remove() and update() now get caught better and the offending command reported (previously, it wasn't easy to find out what was causing it, because the call just said 'command.update()', without explaining what the command was reorganised the IOS code into a subdirectory, to make it easier to see what's involved and allow things to be broken out better renamed the toplevel (abstract) config and diff files bug fixes over v0.10: default excluded IPv6 access-lists for IOS now correctly named (when the names were changed in the configuration dictionaries to more verbose strings, the exception was not changed) better handles device-specific rules when not running on multiple devices (and the device name is not known) - a warning is now printed
Loading
Please register or sign in to comment