Skip to content

Commit ce25749

Browse files
committed
[airos] moved wireless user configuration to different module
1 parent 171bd1f commit ce25749

File tree

2 files changed

+72
-25
lines changed

2 files changed

+72
-25
lines changed

netjsonconfig/backends/airos/converters.py

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from .radio import radio_available_mode, radio_configuration
99
from .radius import radius_from_interface
1010
from .schema import default_ntp_servers
11+
from .wireless import wireless_available_mode
1112
from .wpasupplicant import available_mode_authentication
1213

1314

@@ -650,31 +651,8 @@ def to_intermediate(self):
650651
result = []
651652
wireless_list = []
652653
for w in self.wireless:
653-
wireless_list.append({
654-
'addmtikie': 'enabled',
655-
'devname': radio(w),
656-
'hide_ssid': hidden_ssid(w),
657-
'l2_isolation': 'disabled',
658-
'mac_acl': {
659-
'policy': 'allow',
660-
'status': 'disabled',
661-
},
662-
'mcast': {'enhance': 0},
663-
'rate': {
664-
'auto': 'enabled',
665-
'mcs': -1,
666-
},
667-
'security': {'type': 'none'},
668-
'signal_led1': 75,
669-
'signal_led2': 50,
670-
'signal_led3': 25,
671-
'signal_led4': 15,
672-
'signal_led_status': 'enabled',
673-
'ssid': ssid(w),
674-
'ap': bssid(w),
675-
'status': status(w),
676-
'wds': {'status': 'enabled'},
677-
})
654+
user_config = wireless_available_mode[mode(w)](w)
655+
wireless_list.append(user_config)
678656
result.append(wireless_list)
679657
result.append({'status': 'enabled'})
680658
return (('wireless', result),)
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
from .interface import bssid, hidden_ssid, radio, ssid
2+
3+
_wireless_base = {
4+
'addmtikie': 'enabled',
5+
'devname': '',
6+
'hide_ssid': '',
7+
'l2_isolation': 'disabled',
8+
'mac_acl': {
9+
'policy': 'allow',
10+
'status': 'disabled',
11+
},
12+
'mcast': {'enhance': 0},
13+
'rate': {
14+
'auto': 'enabled',
15+
'mcs': -1,
16+
},
17+
'security': {'type': 'none'},
18+
'signal_led1': 75,
19+
'signal_led2': 50,
20+
'signal_led3': 25,
21+
'signal_led4': 15,
22+
'signal_led_status': 'enabled',
23+
'ssid': '',
24+
'ap': '',
25+
'status': '',
26+
'wds': {'status': 'enabled'},
27+
}
28+
29+
30+
def status(interface):
31+
if interface.get('disabled'):
32+
return 'disabled'
33+
else:
34+
return 'enabled'
35+
36+
37+
def access_point(wlan):
38+
"""
39+
Return the configuration for a wireless lan in ``access_point`` mode
40+
"""
41+
base = _wireless_base.copy()
42+
base.update({
43+
'devname': radio(wlan),
44+
'hide_ssid': hidden_ssid(wlan),
45+
'ssid': ssid(wlan),
46+
'status': status(wlan),
47+
})
48+
return base
49+
50+
51+
def station(wlan):
52+
"""
53+
Return the configuration for a wireless lan in ``station`` mode
54+
"""
55+
base = _wireless_base.copy()
56+
base.update({
57+
'ap': bssid(wlan),
58+
'devname': radio(wlan),
59+
'hide_ssid': hidden_ssid(wlan),
60+
'ssid': ssid(wlan),
61+
'status': status(wlan),
62+
})
63+
return base
64+
65+
66+
wireless_available_mode = {
67+
'access_point': access_point,
68+
'station': station,
69+
}

0 commit comments

Comments
 (0)