Commit 4f8302e7 authored by Pierre-Elliott Bécue's avatar Pierre-Elliott Bécue

Utilise argparse pour gérer argv

parent ad6869f5
#!/bin/bash /usr/scripts/python.sh
# -*- coding: utf-8 -*-
"""Script permettant de réinitialiser un mot de passe de compte
LDAP, et d'imprimer un ticket avec les informations pertinentes"""
from __future__ import print_function
import sys
import argparse
from lc_ldap import crans_utils
from lc_ldap.shortcuts import lc_ldap_admin
from client import Ticket
conn = lc_ldap_admin()
if len(sys.argv) != 2:
print("Veuillez taper UN login")
exit(1)
login = sys.argv[1]
adh = conn.search(u'uid=%s' % crans_utils.escape(login), mode='rw')
if not adh:
print("Adhérent introuvable")
exit(1)
adh = adh[0]
ticket = Ticket()
ticket.reset_password(adh)
ticket.print()
from lc_ldap import shortcuts
from cransticket.client import Ticket
def reset_pass(args, ldap):
"""Retourne l'adhérent cherché"""
_result = ldap.search(u'uid=%s' % (crans_utils.escape(args.login),), mode="w")
if not _result:
print("Adhérent introuvable")
sys.exit(1)
ticket = Ticket()
ticket.reset_password(_result[0])
if args.test:
print("Mot de passe changé (on est en test, donc pas de ticket)")
else:
ticket.print()
if __name__ == '__main__':
PARSER = argparse.ArgumentParser(description="Réinitialisation d'un mot de passe d'un compte.", add_help=False)
PARSER.add_argument('-h', '--help', help="Affiche ce message et quitte.", action="store_true")
PARSER.add_argument('--test', help="Se connecter à la base de test", action="store_true")
PARSER.add_argument('login', type=str, nargs="?", help="Le login du compte à modifier")
ARGS = PARSER.parse_args()
if ARGS.help:
PARSER.print_help()
sys.exit(0)
if ARGS.test:
LDAP = shortcuts.lc_ldap_test()
else:
LDAP = shortcuts.lc_ldap_admin()
reset_pass(ARGS, LDAP)
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