Merge pull request #107 from mjkantti/capsman_new_wifi

Add Parsing of the routeros version for capsman metrics
This commit is contained in:
Arseniy Kuznetsov
2024-01-22 17:30:53 +01:00
committed by GitHub
3 changed files with 37 additions and 0 deletions

View File

@@ -13,6 +13,7 @@
from mktxp.datasource.base_ds import BaseDSProcessor
from mktxp.utils.utils import builtin_wifi_capsman_version
class SystemResourceMetricsDataSource:
@@ -28,3 +29,22 @@ class SystemResourceMetricsDataSource:
except Exception as exc:
print(f'Error getting system resource info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
return None
@staticmethod
def os_version(router_entry):
try:
system_version_records = router_entry.api_connection.router_api().get_resource('/system/resource').call('print', {'proplist':'version'})
for record in system_version_records:
ver = record.get('version', None)
if ver:
return ver
return None
except Exception as exc:
print(f'Error getting system resource info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
return False
@staticmethod
def has_builtin_wifi_capsman(router_entry):
ver = SystemResourceMetricsDataSource.os_version(router_entry)
return builtin_wifi_capsman_version(ver)