#! /usr/bin/env python '''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.''' sw = hpswitch('backbone') db = crans_ldap() try: macs = sw.show_prise_mac(87) except ConversationError: cprint("Impossible de communiquer avec le backbone !", 'rouge') return if macs: machines = [] machines_crans = [] for mac in macs: fm = db.search("mac=%s" % mac) if len(fm['machine']) != 0: m = fm['machine'][0] 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) else: machines_crans.append(m) 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() == 'vo': cprint('---=== Who sur vo ===---', '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') if __name__ == '__main__': liste_2b()