summaryrefslogtreecommitdiff
path: root/src/op_mode/interfaces_wireless.py
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-03-05 21:51:26 +0100
committerChristian Breunig <christian@breunig.cc>2026-03-05 21:53:32 +0100
commit046a4284d839e8d89e62a0afe6f838f3e2bef764 (patch)
tree3bacb1f56ae3a69ee1ea29c5f971b86fc970d6fd /src/op_mode/interfaces_wireless.py
parent7c520f8ec786f6cff411188498822eab00e69afd (diff)
downloadvyos-1x-046a4284d839e8d89e62a0afe6f838f3e2bef764.tar.gz
vyos-1x-046a4284d839e8d89e62a0afe6f838f3e2bef764.zip
opmode: T8343: implement common verify_cli_exists() helper
Instead of re-defining a per module helper which verifies that a given CLI path exists during execution, rather create a generic representation which takes a CLI path (list) as argument with an optional error message to display on the CLI. This is the initial implementation of the generic helper with some migrations for VPP, WireGuard and Wireless interfaces. More opmode scripts should follow.
Diffstat (limited to 'src/op_mode/interfaces_wireless.py')
-rwxr-xr-xsrc/op_mode/interfaces_wireless.py19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/op_mode/interfaces_wireless.py b/src/op_mode/interfaces_wireless.py
index 5a708ad27..58cc9e5db 100755
--- a/src/op_mode/interfaces_wireless.py
+++ b/src/op_mode/interfaces_wireless.py
@@ -23,18 +23,9 @@ from tabulate import tabulate
from vyos.utils.process import popen
from vyos.configquery import ConfigTreeQuery
-def _verify(func):
- """Decorator checks if Wireless LAN config exists"""
- from functools import wraps
-
- @wraps(func)
- def _wrapper(*args, **kwargs):
- config = ConfigTreeQuery()
- if not config.exists(['interfaces', 'wireless']):
- unconf_message = 'No Wireless interfaces configured'
- raise vyos.opmode.UnconfiguredSubsystem(unconf_message)
- return func(*args, **kwargs)
- return _wrapper
+verify_path = ['interfaces', 'wireless']
+verify_error = 'Wireless/WiFi subsystem unconfigured!'
+verify_interface_error = 'Wireless interface {interface} is not configured!'
def _get_raw_info_data():
output_data = []
@@ -156,7 +147,7 @@ def _format_station_data(raw_data):
headers = ["Station", "Signal", "RX bytes", "RX packets", "TX bytes", "TX packets"]
return tabulate(output, headers, numalign="left")
-@_verify
+@vyos.opmode.verify_cli_exists(verify_path, verify_error)
def show_info(raw: bool):
info_data = _get_raw_info_data()
if raw:
@@ -169,7 +160,7 @@ def show_scan(raw: bool, intf_name: str):
return data
return _format_scan_data(data)
-@_verify
+@vyos.opmode.verify_cli_exists(verify_path, verify_interface_error)
def show_stations(raw: bool, intf_name: str):
data = _get_raw_station_data(intf_name)
if raw: