Skip to content

Commit f918130

Browse files
committed
rebase me: refactor NetInterface creation
Create a specific class to init IPv6 NetInterface Signed-off-by: BenjiReis <benjamin.reis@vates.fr>
1 parent 5e8f0a2 commit f918130

File tree

2 files changed

+29
-25
lines changed

2 files changed

+29
-25
lines changed

netinterface.py

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class NetInterface:
2424
Autoconf = 3
2525

2626
def __init__(self, mode, hwaddr, ipaddr=None, netmask=None, gateway=None,
27-
dns=None, domain=None, vlan=None, ipv6=False):
27+
dns=None, domain=None, vlan=None):
2828
assert mode in [None, self.Static, self.DHCP, self.Autoconf]
2929
if ipaddr == '':
3030
ipaddr = None
@@ -36,31 +36,23 @@ def __init__(self, mode, hwaddr, ipaddr=None, netmask=None, gateway=None,
3636
dns = None
3737
elif isinstance(dns, str):
3838
dns = [ dns ]
39-
if mode == self.Static:
39+
is_static = mode == self.Static
40+
if is_static:
4041
assert ipaddr and netmask
4142

4243
self.hwaddr = hwaddr
43-
if ipv6:
44-
self.mode = None
45-
self.ipaddr = None
46-
self.netmask = None
47-
self.gateway = None
48-
49-
self.modev6 = mode
50-
self.ipv6addr = ipaddr + "/" + netmask if mode == self.Static else None
51-
self.ipv6_gateway = gateway if mode == self.Static else None
52-
else:
53-
self.modev6 = None
54-
self.ipv6addr = None
55-
self.ipv6_gateway = None
5644

57-
self.mode = mode
58-
self.ipaddr = ipaddr if mode == self.Static else None
59-
self.netmask = netmask if mode == self.Static else None
60-
self.gateway = gateway if mode == self.Static else None
45+
self.modev6 = None
46+
self.ipv6addr = None
47+
self.ipv6_gateway = None
6148

62-
self.dns = dns if mode == self.Static else None
63-
self.domain = domain if mode == self.Static else None
49+
self.mode = mode
50+
self.ipaddr = ipaddr if is_static else None
51+
self.netmask = netmask if is_static else None
52+
self.gateway = gateway if is_static else None
53+
54+
self.dns = dns if is_static else None
55+
self.domain = domain if is_static else None
6456
self.vlan = vlan
6557

6658
def __repr__(self):
@@ -377,3 +369,15 @@ def loadFromNetDb(jdata, hwaddr):
377369

378370
nic.addIPv6(modev6, ipv6addr, gatewayv6)
379371
return nic
372+
373+
class NetInterfaceV6(NetInterface):
374+
def __init__(self, mode, hwaddr, ipaddr=None, netmask=None, gateway=None, dns=None, domain=None, vlan=None):
375+
super().__init__(None, hwaddr, None, None, None, dns, domain, vlan)
376+
377+
is_static = mode == self.Static
378+
ipv6addr = None
379+
if is_static:
380+
assert ipaddr and netmask
381+
ipv6addr = ipaddr + "/" + netmask
382+
383+
self.addIPv6(mode, ipv6addr=ipv6addr, ipv6gw=gateway)

tui/network.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -295,13 +295,13 @@ def use_vlan_cb_change():
295295

296296
vlan_value = int(vlan_field.value()) if vlan_cb.selected() else None
297297
if bool(dhcp_rb.selected()):
298-
answers = NetInterface(NetInterface.DHCP, nic.hwaddr, vlan=vlan_value, ipv6=True)
298+
answers = NetInterfaceV6(NetInterface.DHCP, nic.hwaddr, vlan=vlan_value)
299299
elif bool(autoconf_rb.selected()):
300-
answers = NetInterface(NetInterface.Autoconf, nic.hwaddr, vlan=vlan_value, ipv6=True)
300+
answers = NetInterfaceV6(NetInterface.Autoconf, nic.hwaddr, vlan=vlan_value)
301301
else:
302-
answers = NetInterface(NetInterface.Static, nic.hwaddr, ip_field.value(),
302+
answers = NetInterfaceV6(NetInterface.Static, nic.hwaddr, ip_field.value(),
303303
subnet_field.value(), gateway_field.value(),
304-
dns_field.value(), vlan=vlan_value, ipv6=True)
304+
dns_field.value(), vlan=vlan_value)
305305

306306
return RIGHT_FORWARDS, answers
307307

0 commit comments

Comments
 (0)