mirror of
				https://github.com/KevinMidboe/mktxp-no-cli.git
				synced 2025-10-29 17:50:23 +00:00 
			
		
		
		
	Add support for RouterOS version 7.13
As of RouterOS version 7.13, `/interface/wifiwave2` has been renamed to `/interface/wifi`. > !) wifi - split existing "wifiwave2" package into separate packages > "wifi-qcom", "wifi-qcom-ac", and include required utilities for WiFi > management into bundle; Please see links below for more information: [1] https://mikrotik.com/download/changelogs/testing-release-tree [2] https://help.mikrotik.com/docs/display/ROS/WiFi
This commit is contained in:
		@@ -19,17 +19,19 @@ from mktxp.datasource.wireless_ds import WirelessMetricsDataSource
 | 
			
		||||
class CapsmanInfo:
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def capsman_path(router_entry):
 | 
			
		||||
        if WirelessMetricsDataSource.wifiwave2_installed(router_entry):
 | 
			
		||||
            return '/interface/wifiwave2/capsman'
 | 
			
		||||
        else:
 | 
			
		||||
        if WirelessMetricsDataSource.is_legacy(router_entry):
 | 
			
		||||
            return '/caps-man'
 | 
			
		||||
        else:
 | 
			
		||||
            wireless_package = WirelessMetricsDataSource.wireless_package(router_entry)
 | 
			
		||||
            return f'/interface/{wireless_package}/capsman'
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def registration_table_path(router_entry):
 | 
			
		||||
        if WirelessMetricsDataSource.wifiwave2_installed(router_entry):
 | 
			
		||||
            return '/interface/wifiwave2/registration-table'
 | 
			
		||||
        else:
 | 
			
		||||
        if WirelessMetricsDataSource.is_legacy(router_entry):
 | 
			
		||||
            return '/caps-man/registration-table'
 | 
			
		||||
        else:
 | 
			
		||||
            wireless_package = WirelessMetricsDataSource.wireless_package(router_entry)
 | 
			
		||||
            return f'/interface/{wireless_package}/registration-table'
 | 
			
		||||
 | 
			
		||||
class CapsmanCapsMetricsDataSource:
 | 
			
		||||
    ''' Caps Metrics data provider
 | 
			
		||||
@@ -76,7 +78,7 @@ class CapsmanInterfacesDatasource:
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def metric_records(router_entry, *, metric_labels = None):
 | 
			
		||||
        if WirelessMetricsDataSource.wireless_package(router_entry) == WirelessMetricsDataSource.WIFIWAVE2:
 | 
			
		||||
        if not WirelessMetricsDataSource.is_legacy(router_entry):
 | 
			
		||||
            return None            
 | 
			
		||||
        if metric_labels is None:
 | 
			
		||||
            metric_labels = []                
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,7 @@ class WirelessMetricsDataSource:
 | 
			
		||||
    '''             
 | 
			
		||||
    WIFIWAVE2 = 'wifiwave2'
 | 
			
		||||
    WIRELESS = 'wireless'
 | 
			
		||||
    WIFI = 'wifi'
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def metric_records(router_entry, *, metric_labels = None, add_router_id = True):
 | 
			
		||||
@@ -45,10 +46,14 @@ class WirelessMetricsDataSource:
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def wireless_package(router_entry):
 | 
			
		||||
        if not router_entry.wifi_package:
 | 
			
		||||
            ww2_installed = PackageMetricsDataSource.is_package_installed(router_entry, package_name = WirelessMetricsDataSource.WIFIWAVE2)
 | 
			
		||||
            router_entry.wifi_package = WirelessMetricsDataSource.WIFIWAVE2 if ww2_installed else WirelessMetricsDataSource.WIRELESS
 | 
			
		||||
            if PackageMetricsDataSource.is_package_installed(router_entry, package_name = WirelessMetricsDataSource.WIRELESS):
 | 
			
		||||
              router_entry.wifi_package = WirelessMetricsDataSource.WIRELESS
 | 
			
		||||
            elif PackageMetricsDataSource.is_package_installed(router_entry, package_name = WirelessMetricsDataSource.WIFIWAVE2):
 | 
			
		||||
              router_entry.wifi_package = WirelessMetricsDataSource.WIFIWAVE2
 | 
			
		||||
            else:
 | 
			
		||||
              router_entry.wifi_package = WirelessMetricsDataSource.WIFI
 | 
			
		||||
        return router_entry.wifi_package
 | 
			
		||||
 | 
			
		||||
    @staticmethod
 | 
			
		||||
    def wifiwave2_installed(router_entry):
 | 
			
		||||
        return WirelessMetricsDataSource.wireless_package(router_entry) == WirelessMetricsDataSource.WIFIWAVE2
 | 
			
		||||
    def is_legacy(router_entry):
 | 
			
		||||
        return WirelessMetricsDataSource.wireless_package(router_entry) == WirelessMetricsDataSource.WIRELESS
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user