mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-24 16:03:47 +00:00
Ajout des bornes wifi
This commit is contained in:
parent
30140de2ae
commit
22d49864a7
2 changed files with 22 additions and 4 deletions
|
@ -11,6 +11,13 @@ edge[arrowhead=odot,arrowtail=dot]
|
||||||
{% for sub in subs %}
|
{% for sub in subs %}
|
||||||
subgraph cluster_{{ sub.bat_id }} {
|
subgraph cluster_{{ sub.bat_id }} {
|
||||||
label="Batiment {{ sub.bat_name }}";
|
label="Batiment {{ sub.bat_name }}";
|
||||||
|
|
||||||
|
{% block bornes %}
|
||||||
|
{% for borne in sub.bornes %}
|
||||||
|
node[label="{{borne.name}}"] {{borne.id}};
|
||||||
|
{% endfor %}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
{% block switchs %}
|
{% block switchs %}
|
||||||
{% for switch in sub.switchs %}
|
{% for switch in sub.switchs %}
|
||||||
node [label=<
|
node [label=<
|
||||||
|
|
|
@ -944,21 +944,31 @@ def make_machine_graph():
|
||||||
"""
|
"""
|
||||||
Crée le fichier dot et l'image du graph des Switchs
|
Crée le fichier dot et l'image du graph des Switchs
|
||||||
"""
|
"""
|
||||||
dico={'subs':[],'links':[],'alone':[]}
|
dico={'subs':[],'links':[],'alone':[],'bornes':[]}
|
||||||
missing=[]
|
missing=[]
|
||||||
detected=[]
|
detected=[]
|
||||||
for sw in Switch.objects.all():
|
for sw in Switch.objects.all():
|
||||||
if(sw not in detected):
|
if(sw not in detected):
|
||||||
missing.append(sw)
|
missing.append(sw)
|
||||||
|
|
||||||
for building in Building.objects.all():#Parcour tous les batiments
|
for building in Building.objects.all():#Parcour tous les batiments
|
||||||
dico['subs'].append({'bat_id':building.id,'bat_name':building,'switchs':[]})
|
|
||||||
|
dico['subs'].append({'bat_id':building.id,'bat_name':building,'switchs':[],'bornes':[]})
|
||||||
|
|
||||||
|
|
||||||
for switch in Switch.objects.filter(switchbay__building=building):#Parcour tous les switchs de ce batiment
|
for switch in Switch.objects.filter(switchbay__building=building):#Parcour tous les switchs de ce batiment
|
||||||
dico['subs'][-1]['switchs'].append({'name':switch.main_interface().domain.name,'nombre':switch.number,'model':switch.model,'id':switch.id,'batiment':building,'ports':[]})
|
dico['subs'][-1]['switchs'].append({'name':switch.main_interface().domain.name,'nombre':switch.number,'model':switch.model,'id':switch.id,'batiment':building,'ports':[]})
|
||||||
|
|
||||||
|
|
||||||
for p in switch.ports.all().filter(related__isnull=False):#Parcour tout les ports liés de ce switch
|
for p in switch.ports.all().filter(related__isnull=False):#Parcour tout les ports liés de ce switch
|
||||||
dico['subs'][-1]['switchs'][-1]['ports'].append({'numero':p.port,'related':p.related.switch.main_interface().domain.name})
|
dico['subs'][-1]['switchs'][-1]['ports'].append({'numero':p.port,'related':p.related.switch.main_interface().domain.name})
|
||||||
|
|
||||||
|
|
||||||
|
for ap in AccessPoint.all_ap_in(building):
|
||||||
|
dico['subs'][-1]['bornes'].append({'name':ap.short_name,'id':ap.id})
|
||||||
|
dico['links'].append({'depart':ap.switch()[0].id,'arrive':ap.id})
|
||||||
|
|
||||||
|
|
||||||
|
for ap in AccessPoint.objects.all():
|
||||||
|
dico['bornes'].append({'name':str(ap)})
|
||||||
while(missing!=[]):#Tant que la liste des oubliés n'est pas vide i.e on les a pas tous passer
|
while(missing!=[]):#Tant que la liste des oubliés n'est pas vide i.e on les a pas tous passer
|
||||||
links,new_detected=recursive_switchs(missing[0].ports.all().filter(related=None).first(),None,[missing[0]])
|
links,new_detected=recursive_switchs(missing[0].ports.all().filter(related=None).first(),None,[missing[0]])
|
||||||
for link in links:
|
for link in links:
|
||||||
|
@ -1017,5 +1027,6 @@ def recursive_switchs(port_start, switch_before, detected):
|
||||||
if(link!=[]):
|
if(link!=[]):
|
||||||
links_return.append(link)
|
links_return.append(link)
|
||||||
|
|
||||||
|
|
||||||
return (links_return, detected)
|
return (links_return, detected)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue