create model class in views
The model gets passed into the view, but it's only the class name We need to create an object of the model class before we can use it. Also implement new network get_iface_info to dump additional iface info in the view. Signed-off-by: Ryan Harper <ryan.harper@canonical.com>
This commit is contained in:
parent
4418c94521
commit
6b82c1fc7e
|
@ -33,15 +33,23 @@ class NetworkModel(models.Model):
|
|||
'Install network driver']
|
||||
|
||||
def __init__(self):
|
||||
self.hwdata = {}
|
||||
self.network = {}
|
||||
self.options = argparse.Namespace(probe_storage=False,
|
||||
probe_network=True)
|
||||
self.prober = prober.Prober(self.options)
|
||||
|
||||
def probe_network(self):
|
||||
self.prober.probe()
|
||||
self.hwdata = self.prober.get_results()
|
||||
self.network = self.prober.get_results().get('network')
|
||||
|
||||
def get_interfaces(self):
|
||||
return [n for n in self.hwdata['network'].keys()
|
||||
if self.hwdata['network'][n]['type'] == 'eth']
|
||||
return [iface for iface in self.network.keys()
|
||||
if self.network[iface]['type'] == 'eth']
|
||||
|
||||
def get_iface_info(self, iface):
|
||||
ipinfo = self.network[iface]['ip']
|
||||
hwinfo = self.network[iface]['hardware']
|
||||
return "{}/{} -- {} {}".format(ipinfo['addr'],
|
||||
ipinfo['netmask'],
|
||||
hwinfo['ID_VENDOR_FROM_DATABASE'],
|
||||
hwinfo['ID_MODEL_FROM_DATABASE'])
|
||||
|
|
|
@ -46,13 +46,14 @@ class FilesystemView(WidgetWrap):
|
|||
|
||||
def _build_model_inputs(self):
|
||||
sl = []
|
||||
self.model.probe_storage()
|
||||
for disk in self.model.get_available_disks():
|
||||
sm = self.model()
|
||||
sm.probe_storage()
|
||||
for disk in sm.get_available_disks():
|
||||
|
||||
sl.append(Color.button_primary(confirm_btn(label=disk,
|
||||
on_press=self.confirm),
|
||||
focus_map='button_primary focus'))
|
||||
disk_sz = self.model.get_disk_size(disk)
|
||||
disk_sz = sm.get_disk_size(disk)
|
||||
sl.append(Padding.push_10(Text(disk_sz)))
|
||||
|
||||
return BoxAdapter(SimpleList(sl),
|
||||
|
|
|
@ -46,12 +46,14 @@ class NetworkView(WidgetWrap):
|
|||
|
||||
def _build_model_inputs(self):
|
||||
sl = []
|
||||
self.model.probe_network()
|
||||
for iface in self.model.get_interfaces():
|
||||
nm = self.model()
|
||||
nm.probe_network()
|
||||
for iface in nm.get_interfaces():
|
||||
sl.append(Color.button_primary(confirm_btn(label=iface,
|
||||
on_press=self.confirm),
|
||||
focus_map='button_primary focus'))
|
||||
sl.append(Padding.push_10(Text("Adapter info")))
|
||||
ifinfo = nm.get_iface_info(iface)
|
||||
sl.append(Padding.push_10(Text(ifinfo)))
|
||||
|
||||
return BoxAdapter(SimpleList(sl),
|
||||
height=len(sl))
|
||||
|
|
Loading…
Reference in New Issue