Really probe (i.e. call into probert) every time we load the network screen.

Connected-ness of a link is something that can plausibly change over short
timescales.
This commit is contained in:
Michael Hudson-Doyle 2016-09-16 14:27:37 +12:00
parent 6161967459
commit 682c81c289
2 changed files with 13 additions and 10 deletions

View File

@ -360,6 +360,7 @@ class NetworkModel(BaseModel):
# --- Model Methods ----
def probe_network(self):
log.debug('model calling prober.get_network()')
self.prober.probe()
network_devices = self.prober.get_network_devices()
self.network_routes = self.prober.get_network_routes()

View File

@ -53,21 +53,23 @@ class Prober():
return data
def _probe_network(self):
if 'network' not in self.probe_data:
log.debug('get_network: no network in probe_data, fetching')
network = Network()
results = network.probe()
self.probe_data['network'] = {}
self.probe_data['network']['devices'] = results
self.probe_data['network']['routes'] = network.get_routes()
def probe(self):
network = Network()
results = network.probe()
self.probe_data['network'] = {}
self.probe_data['network']['devices'] = results
self.probe_data['network']['routes'] = network.get_routes()
def get_network_devices(self):
self._probe_network()
if 'network' not in self.probe_data:
log.debug('get_network_devices: no network in probe_data, fetching')
self.probe()
return self.probe_data['network']['devices']
def get_network_routes(self):
self._probe_network()
if 'network' not in self.probe_data:
log.debug('get_network_routes: no network in probe_data, fetching')
self.probe()
return self.probe_data['network']['routes']
def get_network_info(self, device):