mirror of
https://github.com/KevinMidboe/mktxp-no-cli.git
synced 2025-10-29 17:50:23 +00:00
created os_version function, renamed functions with ambiguous names
This commit is contained in:
@@ -13,7 +13,7 @@
|
|||||||
|
|
||||||
|
|
||||||
from mktxp.datasource.base_ds import BaseDSProcessor
|
from mktxp.datasource.base_ds import BaseDSProcessor
|
||||||
from mktxp.utils.utils import is_wifi_version
|
from mktxp.utils.utils import builtin_wifi_capsman_version
|
||||||
|
|
||||||
|
|
||||||
class SystemResourceMetricsDataSource:
|
class SystemResourceMetricsDataSource:
|
||||||
@@ -31,18 +31,20 @@ class SystemResourceMetricsDataSource:
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def is_os_with_wifi_builtin(router_entry):
|
def os_version(router_entry):
|
||||||
try:
|
try:
|
||||||
system_resource_records = router_entry.api_connection.router_api().get_resource('/system/resource').get()
|
system_version_records = router_entry.api_connection.router_api().get_resource('/system/resource').call('print', {'proplist':'version'})
|
||||||
version = None
|
for record in system_version_records:
|
||||||
for record in system_resource_records:
|
ver = record.get('version', None)
|
||||||
if record['version']:
|
if ver:
|
||||||
version = record['version']
|
return ver
|
||||||
break
|
|
||||||
if not version:
|
return None
|
||||||
return False
|
|
||||||
|
|
||||||
return is_wifi_version(version)
|
|
||||||
except Exception as exc:
|
except Exception as exc:
|
||||||
print(f'Error getting system resource info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
|
print(f'Error getting system resource info from router{router_entry.router_name}@{router_entry.config_entry.hostname}: {exc}')
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def has_builtin_wifi_capsman(router_entry):
|
||||||
|
ver = SystemResourceMetricsDataSource.os_version(router_entry)
|
||||||
|
return builtin_wifi_capsman_version(ver)
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class RouterEntry:
|
|||||||
self._wireless_type = RouterEntryWirelessType.WIFIWAVE2
|
self._wireless_type = RouterEntryWirelessType.WIFIWAVE2
|
||||||
elif PackageMetricsDataSource.is_package_installed(router_entry, package_name = RouterEntryWirelessPackage.WIRELESS_PACKAGE):
|
elif PackageMetricsDataSource.is_package_installed(router_entry, package_name = RouterEntryWirelessPackage.WIRELESS_PACKAGE):
|
||||||
self._wireless_type = RouterEntryWirelessType.DUAL
|
self._wireless_type = RouterEntryWirelessType.DUAL
|
||||||
elif SystemResourceMetricsDataSource.is_os_with_wifi_builtin(router_entry):
|
elif SystemResourceMetricsDataSource.has_builtin_wifi_capsman(router_entry):
|
||||||
self._wireless_type = RouterEntryWirelessType.WIFI
|
self._wireless_type = RouterEntryWirelessType.WIFI
|
||||||
else:
|
else:
|
||||||
self._wireless_type = RouterEntryWirelessType.WIRELESS
|
self._wireless_type = RouterEntryWirelessType.WIRELESS
|
||||||
|
|||||||
@@ -324,8 +324,8 @@ def parse_ros_version(string):
|
|||||||
version, channel = re.findall(r'([\d\.]+).*?([\w]+)', string)[0]
|
version, channel = re.findall(r'([\d\.]+).*?([\w]+)', string)[0]
|
||||||
return packaging.version.parse(version), channel
|
return packaging.version.parse(version), channel
|
||||||
|
|
||||||
def is_wifi_version(string):
|
def builtin_wifi_capsman_version(string):
|
||||||
"""Try to check if the version is Wifi version of RouterOS (> 7.13).
|
"""Try to check if the version is Wifi version of RouterOS (>= 7.13).
|
||||||
If anything goes wrong, return None.
|
If anything goes wrong, return None.
|
||||||
Returns a boolean"""
|
Returns a boolean"""
|
||||||
try:
|
try:
|
||||||
@@ -334,6 +334,7 @@ def is_wifi_version(string):
|
|||||||
return True
|
return True
|
||||||
except Exception as err:
|
except Exception as err:
|
||||||
print(f'could not get current RouterOS version, because: {str(err)}')
|
print(f'could not get current RouterOS version, because: {str(err)}')
|
||||||
|
return None
|
||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user