22
33from .exceptions import AirOSMultipleMatchesFoundException
44
5- MODELS : dict [ str , str ] = {
6- # Generated list from https://store.ui.com/us/en/category/wireless
5+ # Generated list from https://store.ui.com/us/en/category/wireless
6+ SITE_MODELS : dict [ str , str ] = {
77 "Wave MLO5" : "Wave-MLO5" ,
88 "airMAX Rocket Prism 5AC" : "RP-5AC-Gen2" ,
99 "airFiber 5XHD" : "AF-5XHD" ,
7676 "airMAX 5 GHz, 19/20 dBi Sector" : "AM-5G2" ,
7777 "airMAX 2.4 GHz, 10 dBi Omni" : "AMO-2G10" ,
7878 "airMAX 2.4 GHz, 15 dBi, 120º Sector" : "AM-2G15-120" ,
79- # Manually added entries for common unofficial names
79+ }
80+
81+ # Manually added entries for common unofficial names
82+ MANUAL_MODELS : dict [str , str ] = {
8083 "LiteAP GPS" : "LAP-GPS" , # Shortened name for airMAX Lite Access Point GPS
84+ "NanoStation loco M5" : "LocoM5" , # XM firmware version 6 - note the reversed names
8185}
8286
87+ MODELS : dict [str , str ] = {** SITE_MODELS , ** MANUAL_MODELS }
88+
8389
8490class UispAirOSProductMapper :
8591 """Utility class to map product model names to SKUs and vice versa."""
@@ -90,6 +96,7 @@ def __init__(self) -> None:
9096
9197 def get_sku_by_devmodel (self , devmodel : str ) -> str :
9298 """Retrieves the SKU for a given device model name."""
99+ devmodel = devmodel .strip ()
93100 if devmodel in MODELS :
94101 return MODELS [devmodel ]
95102
0 commit comments