Commit 9c9e5a6d authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue

PEP8 et utilisation d'une fonction __help générique

parent 0b7daa48
......@@ -26,6 +26,11 @@ MACRO_FILTRE_PRISE = re.compile(r'\(prise=(?P<prise>[a-zA-Z][0-9]{3})\)')
MACRO_FILTRE_ADHESION = re.compile(r'\(adhesion=ok\)')
MACRO_FILTRE_CONNEXION = re.compile(r'\(connexion=ok\)')
def __help(parser, retcode=0):
"""Pour éviter la redondance de code"""
parser.print_help()
sys.exit(retcode)
def print_data(data, args):
"""Récupère les données et les affiche"""
dataLen = sum([len(elem) for elem in data.itervalues()])
......@@ -197,46 +202,46 @@ def limits(data, args):
return data_restricted
if __name__ == "__main__":
parser = argparse.ArgumentParser(description="Recherche dans la base des adhérents", add_help=False)
parser.add_argument('-A', '--adresse', help="Affiche l'adresse de l'adhérent.", 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('-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', '--limite', 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('-s', '--sshfp', help="Affiche les fingerprint SSH si elles existent.", action="store_true")
parser.add_argument('-t', '--ldap', help="Utiliser les filtres tels que définis dans ldap", action="store_true")
parser.add_argument('-T', '--telephone', help="Afficher le numéro de téléphone de l'adhérent.", action="store_true")
parser.add_argument('--test', help="Se connecter à la base de test", 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")
macro_group = parser.add_mutually_exclusive_group(required=False)
macro_group.add_argument('-f', '--macro-filtre', help="Flag activant la gestion des macros pour le filtre LDAP.", action="store_true")
macro_group.add_argument('-w', '--wild', help="Cherche de façon agressive dans la base de données à partir du filtre", action="store_true")
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('-P', '--proprietaire', help="Récupère le propriétaire de l'objet cherché.", 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)
if args.test:
PARSER = argparse.ArgumentParser(description="Recherche dans la base des adhérents", add_help=False)
PARSER.add_argument('-A', '--adresse', help="Affiche l'adresse de l'adhérent.", 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('-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', '--limite', 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('-s', '--sshfp', help="Affiche les fingerprint SSH si elles existent.", action="store_true")
PARSER.add_argument('-t', '--ldap', help="Utiliser les filtres tels que définis dans ldap", action="store_true")
PARSER.add_argument('-T', '--telephone', help="Afficher le numéro de téléphone de l'adhérent.", action="store_true")
PARSER.add_argument('--test', help="Se connecter à la base de test", 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")
MACRO_GROUP = PARSER.add_mutually_exclusive_group(required=False)
MACRO_GROUP.add_argument('-f', '--macro-filtre', help="Flag activant la gestion des macros pour le filtre LDAP.", action="store_true")
MACRO_GROUP.add_argument('-w', '--wild', help="Cherche de façon agressive dans la base de données à partir du filtre", action="store_true")
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('-P', '--proprietaire', help="Récupère le propriétaire de l'objet cherché.", 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:
__help(PARSER)
if ARGS.test:
LDAP = lc_ldap.shortcuts.lc_ldap_test()
else:
LDAP = lc_ldap.shortcuts.lc_ldap_readonly()
DATA = explore_db(args, LDAP)
DATA = limits(DATA, args)
print_data(DATA, args)
DATA = explore_db(ARGS, LDAP)
DATA = limits(DATA, ARGS)
print_data(DATA, ARGS)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment