diff --git a/gestion/hptools.py b/gestion/hptools.py index ff3c5c4e..58c0939a 100755 --- a/gestion/hptools.py +++ b/gestion/hptools.py @@ -19,7 +19,7 @@ from os import system from sre import findall try: - from secrets import config_snmp_secrete + from secrets import config_snmp_secrete, reconf_snmp except : # Si a pas le droit de lire config_snmp_secrete # on va tenter de tout faire en snmpv1 et communauté public @@ -384,19 +384,21 @@ if __name__ == '__main__' : import sys, getopt, sre try : - options, arg = getopt.getopt(sys.argv[1:], 'U:hc:', [ 'help' ]) + options, arg = getopt.getopt(sys.argv[1:], 'U:hc:', [ 'help', 'snmp' ]) except getopt.error, msg : print msg sys.exit(1) cmds = [] firmware='' + wait=True for opt, val in options : if opt == '-h' or opt=='--help' : - print "Usage : %s [[-c commande1] -c commande2...] [-U firmware] regex " + print "Usage : %s [[-c commande1] -c commande2...] [-U firmware] [--snmp] regex " print "Envoi les commandes données au switchs matchant la regex" print "si aucune commande est founie lit l'entree standart" print "L'envoi de firmware ne fait pas rebooter le switch" + print "L'option --snmp ajoute les commandes de reconfiguration snmp" sys.exit(0) elif opt=='-c' : @@ -405,6 +407,10 @@ if __name__ == '__main__' : elif opt=='-U' : firmware=val + elif opt=='--snmp' : + cmds.append(reconf_snmp) + cmds.append("write memory") + # Quels switchs ? switchs=[] if arg : @@ -426,8 +432,12 @@ if __name__ == '__main__' : print "\nSwitchs : ", ' '.join(switchs) print - raw_input("Appuyer sur entrée pour continuer") - + try: + raw_input("Appuyer sur entrée pour continuer") + except EOFError: + # On lisait depuis un pipe + print '\r'+' '*33+'\r' + for sw in switchs : print sw try: