This commit is contained in:
Michael Hudson-Doyle 2018-07-06 14:17:27 +12:00
parent 29fe577013
commit ed09054928
3 changed files with 34 additions and 18 deletions

View File

@ -38,7 +38,12 @@ from subiquitycore.ui.container import (
)
from subiquitycore.ui.stretchy import StretchyOverlay
from subiquitycore.ui.table import ColSpec, TablePile, TableRow
from subiquitycore.ui.utils import button_pile, Color, make_action_menu_row, Padding
from subiquitycore.ui.utils import (
button_pile,
Color,
make_action_menu_row,
Padding,
)
from .network_configure_manual_interface import EditNetworkStretchy
from .network_configure_wlan_interface import NetworkConfigureWLANStretchy
@ -167,16 +172,20 @@ class NetworkView(BaseView):
addresses = []
for v in 4, 6:
if dev.configured_ip_addresses_for_version(v):
addresses.extend(["{} (static)".format(a) for a in dev.configured_ip_addresses_for_version(v)])
addresses.extend([
"{} (static)".format(a)
for a in dev.configured_ip_addresses_for_version(v)
])
elif dev.dhcp_for_version(v):
if v == 4:
fam = AF_INET
elif v == 6:
fam = AF_INET6
for a in dev._net_info.addresses.values():
log.debug("a %s", a.serialize())
if a.family == fam and a.source == 'dhcp':
addresses.append("{} (from dhcp)".format(a.address))
if v == 4:
fam = AF_INET
elif v == 6:
fam = AF_INET6
for a in dev._net_info.addresses.values():
log.debug("a %s", a.serialize())
if a.family == fam and a.source == 'dhcp':
addresses.append("{} (from dhcp)".format(
a.address))
if addresses:
addresses = ", ".join(addresses)
else:
@ -211,7 +220,8 @@ class NetworkView(BaseView):
def refresh_model_inputs(self):
self.device_table.set_contents(self._build_model_inputs())
if isinstance(self._w, StretchyOverlay) and hasattr(self._w.stretchy, 'refresh_model_inputs'):
if isinstance(self._w, StretchyOverlay) and \
hasattr(self._w.stretchy, 'refresh_model_inputs'):
self._w.stretchy.refresh_model_inputs()
def show_network_error(self, action, info=None):

View File

@ -142,7 +142,8 @@ class EditNetworkStretchy(Stretchy):
self.ip_version = ip_version
self.method_form = NetworkMethodForm()
self.method_form.method.caption = _("IPv{ip_version} Method: ").format(ip_version=ip_version)
self.method_form.method.caption = _(
"IPv{ip_version} Method: ").format(ip_version=ip_version)
manual_initial = {}
if len(device.configured_ip_addresses_for_version(ip_version)) > 0:
method = 'manual'
@ -164,7 +165,8 @@ class EditNetworkStretchy(Stretchy):
self.method_form.method.value = method
connect_signal(self.method_form.method.widget, 'select', self._select_method)
connect_signal(
self.method_form.method.widget, 'select', self._select_method)
log.debug("manual_initial %s", manual_initial)
self.manual_form = NetworkConfigForm(ip_version, manual_initial)
@ -182,12 +184,14 @@ class EditNetworkStretchy(Stretchy):
widgets = [self.form_pile, Text(""), self.bp]
super().__init__(
"Edit {device} IPv{ip_version} configuration".format(device=device.name, ip_version=ip_version),
"Edit {device} IPv{ip_version} configuration".format(
device=device.name, ip_version=ip_version),
widgets,
0, 0)
def _select_method(self, sender, method):
rows = []
def r(w):
rows.append((w, self.form_pile.options('pack')))
for row in self.method_form.as_rows():

View File

@ -9,7 +9,6 @@ from urwid import (
from subiquitycore.ui.buttons import cancel_btn, menu_btn
from subiquitycore.ui.container import (
Columns,
ListBox,
Pile,
WidgetWrap,
@ -67,7 +66,8 @@ class NetworkConfigureWLANStretchy(Stretchy):
def __init__(self, parent, device):
self.parent = parent
self.device = device
title = _("Network interface {} WIFI configuration").format(device.name)
title = _("Network interface {} WIFI configuration").format(
device.name)
self.form = WLANForm()
@ -94,7 +94,8 @@ class NetworkConfigureWLANStretchy(Stretchy):
super().__init__(title, widgets, 0, 0)
def show_ssid_list(self, sender):
self.parent.show_overlay(NetworkList(self, self.device.actual_ssids), width=60)
self.parent.show_overlay(
NetworkList(self, self.device.actual_ssids), width=60)
def start_scan(self, sender):
fp = self.inputs.focus_position - 1
@ -135,7 +136,8 @@ class NetworkConfigureWLANStretchy(Stretchy):
def refresh_model_inputs(self):
try:
self.device = self.parent.model.get_netdev_by_name(self.device.name)
self.device = self.parent.model.get_netdev_by_name(
self.device.name)
except KeyError:
# The interface is gone
self.parent.remove_overlay()