[tools/who2b.py] Petites ameliorations
darcs-hash:20091202223932-ddb99-a4c9e53b8a703b01b860052a05e95360b8c7d59e.gz
This commit is contained in:
parent
8e0eafdeb2
commit
8a27a92b4f
1 changed files with 29 additions and 13 deletions
|
@ -1,4 +1,5 @@
|
|||
#! /usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
'''Ce script permet de savoir s'il y a du monde au 2B.'''
|
||||
|
||||
|
@ -16,35 +17,50 @@ def liste_2b():
|
|||
|
||||
sw = hpswitch('backbone')
|
||||
db = crans_ldap()
|
||||
try:
|
||||
macs = sw.show_prise_mac(87)
|
||||
except ConversationError:
|
||||
cprint("Impossible de communiquer avec le backbone !", 'rouge')
|
||||
return
|
||||
|
||||
## Rappel (faut bien le mettre quelque part ...) :
|
||||
# Quand ça marche pas, c'est sûrement quelque chose parmi :
|
||||
# -snmpwalk n'est pas installé (paquet Debian snmp)
|
||||
# -les MIBs ne sont pas installés (/etc/snmp/mibs/hp)
|
||||
# -snmpwalk ne sait pas qu'il faut aller les chercher dans ce dossier
|
||||
# (/etc/snmp/snmp.conf)
|
||||
macs = sw.show_prise_mac(87)
|
||||
|
||||
# Machines branchée sur la prise
|
||||
# (on voit aussi les machines branchées via une borne WiFi du 2B)
|
||||
machines = []
|
||||
if macs:
|
||||
machines = []
|
||||
machines_crans = []
|
||||
for mac in macs:
|
||||
fm = db.search("mac=%s" % mac)
|
||||
if len(fm['machine']) != 0:
|
||||
m = fm['machine'][0]
|
||||
# Machine personnelle ou machine Cr@ns ?
|
||||
if len(fm['borneWifi']) == 0 and len(fm['machineCrans']) == 0:
|
||||
if len(m.proprietaire().droits()) != 0 or len(fm['machineFixe']) != 0:
|
||||
# On filtre en Wifi sur ceux qui ont des droits
|
||||
machines.append(m)
|
||||
try:
|
||||
if len(m.proprietaire().droits()) != 0 or len(fm['machineFixe']) != 0:
|
||||
# On filtre en Wifi sur ceux qui ont des droits
|
||||
machines.append(m)
|
||||
except:
|
||||
pass
|
||||
else:
|
||||
machines_crans.append(m)
|
||||
else:
|
||||
cprint("Machine inconnue: %s" % mac, 'rouge')
|
||||
# Affichage des machines
|
||||
cprint('---=== Machines du Crans ===---', 'bleu')
|
||||
aff(machines_crans)
|
||||
aff(machines_crans, mtech=True)
|
||||
cprint('---=== Autres machines ===---', 'bleu')
|
||||
aff(machines)
|
||||
aff(machines, mtech=True)
|
||||
ttyfound = 1
|
||||
|
||||
# Utilisateurs connectés sur vo sur place
|
||||
if gethostname() == 'vo':
|
||||
cprint('---=== Who sur vo ===---', 'bleu')
|
||||
ttyfound = system("/usr/bin/who | /bin/grep -E 'tty0| :0 | \(:0'")
|
||||
cprint('---=== W(ho) sur vo ===---', 'bleu')
|
||||
ttyfound = system("/usr/bin/w -s | /bin/egrep 'tty0| :0 | \(:0'")
|
||||
print ''
|
||||
|
||||
# Conclusion
|
||||
if len(machines) != 0 or ttyfound == 0:
|
||||
cprint("---=== Il y a du monde au 2B ! ===---", 'vert')
|
||||
else:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue