Wilhelm Schonfeldt
5ace4fdf97
fix(plugins): improve type checking for structured output
...
- Split type checking into two separate conditions for clarity
- Add early return when output contains non-string objects
- Ensure structured output like MikrotikBGPRouteTable passes through unchanged
- Prevent AttributeError on .strip() for tuple containing structured data
Resolves remaining crashes when processing already-structured BGP route data.
2025-09-26 12:45:10 +02:00
Wilhelm Schonfeldt
10ab164ee6
fix(plugins): handle non-string output in MikroTik garbage plugin
...
- Add type checking to handle already-processed structured output
- Skip processing when output is not raw strings (e.g., BGPRouteTable objects)
- Prevents AttributeError when trying to call .strip() on tuple/structured data
Fixes crash when MikroTik garbage plugin runs after structured parsing plugins.
2025-09-26 12:40:55 +02:00
Wilhelm Schonfeldt
120af851d1
fix(plugins): improve MikroTik output cleaning for all directives
...
- Change MikrotikGarbageOutput to apply to ALL MikroTik platform commands using common=True
- Add specialized traceroute output cleaning to handle progressive output and paging prompts
- Remove interactive paging prompts (-- [Q quit|C-z pause])
- Deduplicate traceroute hops to show only final results
- Clean up command echoes and empty progress lines
- Apply to custom directives automatically without manual configuration
Fixes messy traceroute output with repeated progress updates and interactive prompts.
2025-09-26 12:30:27 +02:00
Wilhelm Schonfeldt
ae6a1a0bb8
Refactor code for improved readability and consistency across multiple files using black
2025-09-26 09:43:06 +02:00
Carlos Santos
1dfe987a6e
Update bgp_route_huawei.py
2025-09-13 03:21:22 -03:00
Carlos Santos
d72e5f98a6
Create bgp_routestr_huawei.py
2025-09-13 00:17:51 -03:00
Carlos Santos
16c1674d7e
Create mikrotik_normalize_input.py
2025-09-13 00:17:00 -03:00
Carlos Santos
504c0f1463
Update mikrotik_garbage_output.py
2025-09-13 00:16:17 -03:00
Carlos Santos
4432f48f9b
Create bgp_routestr_mikrotik.py
2025-09-13 00:15:56 -03:00
Carlos Santos
ff0bed6257
Update __init__.py
2025-09-13 00:15:15 -03:00
Jason Hall
cf137bd7e8
format and lint
2025-06-14 21:44:20 -04:00
Jelson Stoelben Rodrigues
f67c676a2d
feat: add Huawei BGP Route Input Plugin
...
Create builtin plugin to transform input field before passing to Huawei device
2025-06-09 21:37:14 -04:00
Chris Wiggins
51c7f9eef6
feat: Add FRR structured output for BGP Routes
2025-06-09 21:12:18 -04:00
thatmattlove
41248231ae
fix logging issues
2024-06-30 23:22:46 -04:00
thatmattlove
30fda91bc8
closes #262 : fix mikrotik error
2024-06-16 16:54:14 -04:00
thatmattlove
e84cc4ac00
remove deprecated pydantic constr usage
2024-05-27 14:41:04 -04:00
thatmattlove
d2f734ba1c
logging overhaul
2024-04-01 23:42:07 -04:00
thatmattlove
a8476f2ea9
fix import sorting
2024-03-17 16:04:41 -04:00
thatmattlove
d706ff1959
fix test fixtures
2024-03-17 15:59:34 -04:00
thatmattlove
77c0a31256
upgrade major dependencies
2024-03-16 23:17:54 -04:00
thatmattlove
2c7456c317
replace legacy mikrotik parsing with builtin plugin
2022-12-26 11:05:46 -05:00
thatmattlove
9c9a8469a4
replace flake8 with ruff for linting, refactor issues
2022-12-24 17:53:05 -05:00
thatmattlove
a19f0aa7d9
Fix plugin import error
2021-12-17 20:32:08 -07:00
thatmattlove
c8892f43ea
Implement Arista table output plugin and default directive
2021-12-08 17:13:56 -07:00
thatmattlove
c049569cab
Update black
2021-12-06 17:12:30 -07:00
thatmattlove
fe7abddd4e
Fix tests
2021-10-04 01:43:02 -07:00
thatmattlove
28eb803a8e
Add plugins CLI
2021-10-04 01:39:00 -07:00
thatmattlove
8013c48ae9
Copy plugins to module instead of kludgy import
2021-10-04 01:38:44 -07:00
thatmattlove
e73de24904
Implement input-plugin-based validation, implement common plugins
2021-09-26 11:39:46 -07:00
thatmattlove
89568dc8e5
Deprecate Device.network
2021-09-24 00:16:26 -07:00
thatmattlove
f5e4c1e282
fix test regressions
2021-09-23 01:00:26 -07:00
thatmattlove
7d5d64c0e2
Plugin/directive fixes
2021-09-21 07:54:16 -07:00
thatmattlove
e62af507ee
Pass full query to output plugin instead of device
2021-09-18 12:47:56 -07:00
thatmattlove
cd87c254e4
Overhaul configuration initialization process, add missing device to directive association
2021-09-17 18:15:59 -07:00
thatmattlove
7adb6ae0ec
Add directives to global state
2021-09-17 09:04:59 -07:00
thatmattlove
6bc6cf0e1c
Fix missing items from Device.platform refactor
2021-09-17 01:11:18 -07:00
thatmattlove
85d7f8876e
Refactor Device.type to Device.platform
2021-09-16 22:04:15 -07:00
thatmattlove
cb5459a72a
Add failure_reason to InputPlugin, add BGP Community builtin plugin and tests
2021-09-16 18:32:59 -07:00
thatmattlove
dda73cb370
Refactor and restructure directive model
2021-09-16 17:12:30 -07:00
thatmattlove
6bdfa9e645
Fix string output type checks
2021-09-16 15:57:33 -07:00
thatmattlove
e06ea5ecb9
Add separate hooks for major state objects, add tests
2021-09-16 13:46:50 -07:00
thatmattlove
a2ee4b50fa
Implement global state
2021-09-15 00:57:45 -07:00
thatmattlove
f1b664f09d
Add processing checks for BGP route table plugin
2021-09-13 14:11:55 -07:00
thatmattlove
ac1e938bd3
Fix plugin registration for builtins
2021-09-13 14:10:50 -07:00
thatmattlove
f2cb15d0e2
Fix typing issues
2021-09-13 14:10:32 -07:00
thatmattlove
723048d1d1
Refactor nos naming to type/device_type
2021-09-13 10:00:44 -07:00
thatmattlove
26db076c57
Fix remove_command plugin errors
2021-09-13 02:40:10 -07:00
thatmattlove
7bd23e58c8
Implement Juniper BGP Route plugin and tests
2021-09-13 02:39:37 -07:00
thatmattlove
3d97d118fb
Update plugin typings
2021-09-13 02:37:05 -07:00
thatmattlove
74fcb5dba4
Continue output plugin implementation
2021-09-12 18:27:33 -07:00