* Streamline the `ConfigLineFactory()` function
* Replace four `_bootstrap_obj_init_FOO()` methods where FOO is
{ios, nxos, asa, junos}. The repalcement is
`_bootstrap_obj_init_ng()`, which handles initial parse from
text into `*CfgLine()` object instances for *all* syntax.
* Rename `_build_cfgobj_from_text()` to `_cfgobj_from_text()`
* Deprecate `ConfigList()._bootstrap_from_text()` and replace
it with `ConfigList()._bootstrap_obj_init_ng()`
* Remove `foo_DEPRECATED()` code in
`ciscoconfparse/ciscoconfparse.py`
* Modify `CiscoConfParse()` to parse `syntax='ios'` roughly 25%
faster.
* Simplify `find_object_branches()`
* Remove unused test fixtures and imports
* As part of Github issue #264 (Remove duplicated obj init code
from `CiscoConfParse()._bootstrap_obj_init_foo()`), also
remove a duplicate method:
`ConfigList()._build_cfgobj_from_text()`
* As part of Github issue #265, fix a broken `loguru`
parameter: change it from `allow_enqueue` to `enqueue`
* Close Github issue #266 as wont-fix: make
`BaseCfgLine().calculate_line_id()` hash comments /
whitespace
* Reformat `ciscoconfparse/ciscoconfparse.py` and
`ciscoconfparse/ccp_abc.py` with black
* Add new `as_dict_diff` attribute (used by `HDiff()`) on
`BaseCfgLine()`.
* Add more debugs in `HDiff().compress_dict_diffs()`.
* Raise an explicit `NotImplementedError` in
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ciscoconfparse?expand=0&rev=61
* Allow `CiscoConfParse()` to parse an empty
configuration command list i.e. `CiscoConfParse([])`; remove
the `ValueError()` raised on parsing an empty config.
* Re-implement and simplify
`CiscoConfParse().sync_diff()` with `HDiff()`.
* Rename variables in `HDiff().compress_dict_diffs()`.
* Rename dict_line to line and add the command indent
* Add 'parents' to `HDiff()` diff dicts and add parent
line output in `sync_diff()`
* Expand `CiscoConfParse()` test coverage for reading
files from disk
* Fix `CiscoConfParse().read_config_file()` recursive
call in `read_config_file()`.
* Fix `CiscoConfParse().read_config_file()` missing
`open()` in `read_config_file()`.
* Fix file-open test escapes associated with github issue
* Fix `CiscoConfParse().read_config_file()` argument name
test escape (ref github issue #262)
* Improve file `open()` error handling. NOTE:
`FileNotFoundError()` is now raised for invalid file paths.
* Improve edge case handling for Cisco IOS banner
delimiters.
* Remove `_validate_ConfigObjs()` and improve logic in
`CiscoConfParse().__init__()`.
* Revert back to using `read_config_file()` if the config
is stored in a file.
* Fix unit tests to work with version 1.7.8+
* Streamline `CiscoConfParse().__init__()` logic and
delegate `__init__()` tasks to dedicated methods.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ciscoconfparse?expand=0&rev=59
- Replace `assert isinstance()`, as requested in github issue #256
- Remove test `ping` code from `Makefile`
- Small code reorganization in `class CiscoConfParse()`
- Move non-essential packages to requirements-dev.txt (github issue #258)
- Edit in documentation style fixes recommended by `pydocstyle -e --convention=numpy <filename>`.
- Convert some of the assertions that validated `CiscoConfParse()` method
parameters and variables into if-statements for more idiomatic python.
- Convert some of the clunky-python-syntax into more idiomatic python.
- Rip out all `terraform` parsing attempts.
- Update for CVE-2022-40898 in the python `wheel <= 0.38.0` package.
- github issue #257 reported this issue.
- Modified `requirements.txt` to manually upgrade `python`'s default `wheel` version to a patched version of `wheel`.
- Move documentation package dependencies to `sphinx-doc/requirements.txt`
- Add documentation build instructions to `README.md`
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ciscoconfparse?expand=0&rev=57
- Update to version 1.6.50:
Released: 2022-10-21
Summary:
* Modify .github/workflows/tests.yml with improved yml
* Enhance CiscoConfParse().repr() string output
* Minor package documentation tweaks
- Update to version 1.6.49:
* Adjust string strip() conditions on config lines in assign_parent_to_closing_braces()
- Update to version 1.6.48:
* Add code to catch misconfigurations such as parsing a string instead of a list in ciscoconfparse.ConfigList(``)
* Avoid problems with reading empty lines (see Github Issue #251)
- Update to version 1.6.47:
* Add repo version management into the Makefile ('make bump-version-patch' / 'make bump-version-minor')
* Add repo version management to 'dev_tools/git_helper.py'
* Revise README_git_workflow.md to include more rebase and merge details
OBS-URL: https://build.opensuse.org/request/show/1031657
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ciscoconfparse?expand=0&rev=47
- Update to version 1.6.41
* Modify `uncfgtext`. Deprecate `add_uncfgtext()`
* Add a dedicated bootstrap method (`_bootstrap_obj_init_junos()`)
for parsing `syntax==junos`
* Add `JunosCfgLine()`
* Remove `NXOSConfigList()` and `ASAConfigList()`
* Add test coverage for "parsing F5 configs as ios", "parsing F5
configs as junos"
* Add config diff infrastructure (preparing to make heavy changes
to diffs)
* Fix problems with `ip_factory()`
* Add `_ip` property to `IPv4Obj()` and `IPv6Obj()`
* Add support for IPv4 Mapped IPv6 Addresses
* Fix `BaseCfgLine().has_child_with()` method
* Make `ip_factory()` more resilient
* Code cleanup
* Fix IPv6 bug in `ip_factory()`
* Enhance `regex_groups` on `find_object_branches`
* Add regex match group support to `find_object_branches`
* Ensure masklen and prefix are int objects for `IPv4Obj()` and
`IPv6Obj()` network mask length
* Add `ccp_util.ip_factory()`
* Added a "disable" and "enable" command to `ccp_logger_control()`
* Add `ccp_logger_control()`
* Fix race-condition for `CiscoConfParse` kwarg in
`IOSConfigList`, `NXOSConfigList`, and `ASAConfigList`
* Add explicit configuration file encoding with default encoding
from python's locale module
* Remove colorama dependency.
- Drop patch:
OBS-URL: https://build.opensuse.org/request/show/1007995
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ciscoconfparse?expand=0&rev=43