batman: add batadv-vis socket support, needs at least alfred 2014.4.0
This commit is contained in:
parent
90ab26d50b
commit
b143e3f2e5
|
@ -50,7 +50,7 @@ def main(params):
|
||||||
|
|
||||||
bm = list(map(lambda d:
|
bm = list(map(lambda d:
|
||||||
(d.vis_data(True), d.gateway_list()),
|
(d.vis_data(True), d.gateway_list()),
|
||||||
map(Batman, params['mesh'])))
|
map(Batman, params['mesh'], params['alfred_sock'])))
|
||||||
for vis_data, gateway_list in bm:
|
for vis_data, gateway_list in bm:
|
||||||
nodes.import_mesh_ifs_vis_data(nodedb['nodes'], vis_data)
|
nodes.import_mesh_ifs_vis_data(nodedb['nodes'], vis_data)
|
||||||
nodes.import_vis_clientcount(nodedb['nodes'], vis_data)
|
nodes.import_vis_clientcount(nodedb['nodes'], vis_data)
|
||||||
|
|
|
@ -8,8 +8,9 @@ class Batman(object):
|
||||||
Bindings for B.A.T.M.A.N. Advanced
|
Bindings for B.A.T.M.A.N. Advanced
|
||||||
commandline interface "batctl"
|
commandline interface "batctl"
|
||||||
"""
|
"""
|
||||||
def __init__(self, mesh_interface='bat0'):
|
def __init__(self, mesh_interface='bat0', alfred_sockpath=None):
|
||||||
self.mesh_interface = mesh_interface
|
self.mesh_interface = mesh_interface
|
||||||
|
self.alfred_sock = alfred_sockpath
|
||||||
|
|
||||||
def vis_data(self, batadv_vis=False):
|
def vis_data(self, batadv_vis=False):
|
||||||
vds = self.vis_data_batctl_legacy()
|
vds = self.vis_data_batctl_legacy()
|
||||||
|
@ -44,8 +45,10 @@ class Batman(object):
|
||||||
Parse "batadv-vis -i <mesh_interface> -f json"
|
Parse "batadv-vis -i <mesh_interface> -f json"
|
||||||
into an array of dictionaries.
|
into an array of dictionaries.
|
||||||
"""
|
"""
|
||||||
output = subprocess.check_output(
|
cmd = ['batadv-vis', '-i', self.mesh_interface, '-f', 'json']
|
||||||
['batadv-vis', '-i', self.mesh_interface, '-f', 'json'])
|
if self.alfred_sock:
|
||||||
|
cmd.extend(['-u', self.alfred_sock])
|
||||||
|
output = subprocess.check_output(cmd)
|
||||||
lines = output.splitlines()
|
lines = output.splitlines()
|
||||||
return self.vis_data_helper(lines)
|
return self.vis_data_helper(lines)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue