diff --git a/gestion/whos_lc.py b/gestion/whos_lc.py index 787b8cef..059c7f91 100755 --- a/gestion/whos_lc.py +++ b/gestion/whos_lc.py @@ -111,33 +111,33 @@ def limits(data, args): if __name__ == "__main__": parser = argparse.ArgumentParser(description="Recherche dans la base des adhérents", add_help=False) parser.add_argument('-6', '--ipv6', help="Affiche les ipv6.", action="store_true") - parser.add_argument('-a', '--adherent', help="Limite l'affichage aux adhérents.", action="store_true") - parser.add_argument('--adm', help="Limite l'affichage aux machines adm.", action="store_true") parser.add_argument('-A', '--adresse', help="Affiche l'adresse de l'adhérent.", action="store_true") - parser.add_argument('-b', '--borne', help="Limite l'affichage aux bornes.", action="store_true") - parser.add_argument('-c', '--club', help="Limite l'affichage aux clubs.", action="store_true") parser.add_argument('-d', '--blacklist', type=int, help="Choix du nombre d'entrées blacklist à afficher pour les entrées détaillées.", action="store", default=10) - parser.add_argument('--crans', help="Limite l'affichage aux machines crans.", action="store_true") parser.add_argument('-h', '--help', help="Affiche ce message et quitte.", action="store_true") parser.add_argument('-i', '--ipsec', help="Affichage de la clef wifi de la machine.", action="store_true") parser.add_argument('-l', '--limit', type=int, help="Modifier la taille limite de recherche dans la base LDAP", action="store", default=1000) parser.add_argument('-L', '--historique', type=int, help="Choix du nombre d'entrées d'historique à afficher pour les entrées détaillées.", action="store", default=10) - parser.add_argument('-m', '--machine', help="Limite l'affichage aux machines.", action="store_true") - parser.add_argument('--serveur', help="Limite l'affichage aux serveurs.", action="store_true") - parser.add_argument('--special', help="Limite l'affichage aux machines spéciales.", action="store_true") parser.add_argument('-s', '--sshfp', help="Affiche les fingerprint SSH si elles existent.", action="store_true") - parser.add_argument('--switch', help="Limite l'affichage aux switches (pas encore implémenté).", action="store_true") parser.add_argument('-t', '--ldap', help="Utiliser les filtres tels que définis dans ldap", action="store_true") parser.add_argument('-v', '--verbose', help="Rend le script (très) verbeux.", action="store_true") parser.add_argument('filtre', type=str, nargs="?", help="Le filtre whos à utiliser") + + type_group = parser.add_mutually_exclusive_group(required=False) + type_group.add_argument('-a', '--adherent', help="Limite l'affichage aux adhérents.", action="store_true") + type_group.add_argument('--adm', help="Limite l'affichage aux machines adm.", action="store_true") + type_group.add_argument('-b', '--borne', help="Limite l'affichage aux bornes.", action="store_true") + type_group.add_argument('-c', '--club', help="Limite l'affichage aux clubs.", action="store_true") + type_group.add_argument('--crans', help="Limite l'affichage aux machines crans.", action="store_true") + type_group.add_argument('-m', '--machine', help="Limite l'affichage aux machines.", action="store_true") + type_group.add_argument('--serveur', help="Limite l'affichage aux serveurs.", action="store_true") + type_group.add_argument('--special', help="Limite l'affichage aux machines spéciales.", action="store_true") + type_group.add_argument('--switch', help="Limite l'affichage aux switches (pas encore implémenté).", action="store_true") + args = parser.parse_args() if args.help: parser.print_help() sys.exit(0) else: - # Promis, quand j'aurai la foi, je ferai ça avec argparse. - if int(args.adherent) + int(args.adm) + int(args.borne) + int(args.club) + int(args.crans) + int(args.machine) + int(args.serveur) + int(args.special) + int(args.switch) >= 2: - raise EnvironmentError("Les arguments limitant l'affiachage de résultats à certains types d'objets sont mutuellement exclusifs.") #logger = Logger() explore_db(args)