Who2B fonctionnel
Script permettant de savoir s'il y a du monde au 2B. A executer depuis egon, ca marche mieux ... darcs-hash:20071214111437-ddb99-aebb4a54adabec2c63bb7a511386fcd262324a1d.gz
This commit is contained in:
parent
bdd0b8cf9e
commit
f0357b260b
1 changed files with 40 additions and 14 deletions
|
@ -1,28 +1,54 @@
|
|||
#! /usr/bin/env python
|
||||
|
||||
import sys
|
||||
'''Ce script permet de savoir s'il y a du monde au 2B.'''
|
||||
|
||||
import sys
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
from ldap_crans import crans_ldap
|
||||
from hptools import hpswitch, ConversationError
|
||||
from affich_tools import coul, cprint
|
||||
from whos import aff
|
||||
from socket import gethostname
|
||||
from os import system
|
||||
|
||||
def liste_2b():
|
||||
'''Cette fonction permet de savoir s'il y a du monde au 2B.'''
|
||||
|
||||
def liste_machines_fixe():
|
||||
sw = hpswitch('backbone')
|
||||
db = crans_ldap()
|
||||
try:
|
||||
macs = sw.show_prise_mac(87)
|
||||
except ConversationError:
|
||||
print coul("Impossible de communiquer avec le switch !")
|
||||
cprint("Impossible de communiquer avec le backbone !", 'rouge')
|
||||
return
|
||||
if macs:
|
||||
machines = []
|
||||
machines_crans = []
|
||||
for mac in macs:
|
||||
m = db.search("mac=%s" % mac)['machine']
|
||||
fm = db.search("mac=%s" % mac)
|
||||
m = fm['machine']
|
||||
if m:
|
||||
if len(fm['borneWifi']) == 0 and len(fm['machineCrans']) == 0:
|
||||
if len(m[0].proprietaire().droits()) != 0 or len(fm['machineFixe']) != 0:
|
||||
# On filtre en Wifi sur ceux qui ont des droits
|
||||
machines.append(m[0])
|
||||
else:
|
||||
print "Machine inconnue: %s" % mac
|
||||
machines_crans.append(m[0])
|
||||
else:
|
||||
cprint("Machine inconnue: %s" % mac, 'rouge')
|
||||
cprint('---=== Machines du Crans ===---', 'bleu')
|
||||
aff(machines_crans)
|
||||
cprint('---=== Autres machines ===---', 'bleu')
|
||||
aff(machines)
|
||||
ttyfound = 1
|
||||
if gethostname() == 'egon':
|
||||
cprint('---=== Who sur egon ===---', 'bleu')
|
||||
ttyfound = system("/usr/bin/who | /bin/grep -E 'tty0| :0 | \(:0'")
|
||||
print ''
|
||||
if len(machines) != 0 or ttyfound == 0:
|
||||
cprint("---=== Il y a du monde au 2B ! ===---", 'vert')
|
||||
else:
|
||||
cprint("---=== Il semble n'y avoir personne au 2B ... ===---", 'rouge')
|
||||
|
||||
|
||||
liste_machines_fixe()
|
||||
if __name__ == '__main__':
|
||||
liste_2b()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue