Ajout d'une option pour limiter la période de recherche de factures
This commit is contained in:
parent
32e4416687
commit
d49c87b6c3
1 changed files with 29 additions and 3 deletions
|
@ -34,6 +34,8 @@ en masse.
|
||||||
La construction est un peu méta pour éviter la redondance
|
La construction est un peu méta pour éviter la redondance
|
||||||
de code."""
|
de code."""
|
||||||
|
|
||||||
|
#pylint: disable=line-too-long
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
|
@ -59,6 +61,16 @@ STYLES = {
|
||||||
'modePaiement': 'bleu',
|
'modePaiement': 'bleu',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
def str_to_gtf(time_str):
|
||||||
|
"""Retourne un GTF sans timezone depuis un truc au format
|
||||||
|
JJ/MM/AAAA HH:MM:SS"""
|
||||||
|
|
||||||
|
date, heure = time_str.split()
|
||||||
|
jour, mois, annee = date.split("/")
|
||||||
|
heure, minute, seconde = heure.split(":")
|
||||||
|
|
||||||
|
return "%s%s%s%s%s%s" % (annee, mois, jour, heure, minute, seconde)
|
||||||
|
|
||||||
# Tout commence ici.
|
# Tout commence ici.
|
||||||
def traiter_factures(ldap, args):
|
def traiter_factures(ldap, args):
|
||||||
"""Liste les factures et les trie suivant trois catégories
|
"""Liste les factures et les trie suivant trois catégories
|
||||||
|
@ -376,7 +388,19 @@ def trie_factures(ldap, args):
|
||||||
controle_non = []
|
controle_non = []
|
||||||
sans_controle = []
|
sans_controle = []
|
||||||
|
|
||||||
filtre = u"(&(fid=*)(recuPaiement=*)%(modes)s)"
|
if not args.last:
|
||||||
|
args.last = crans_utils.localized_datetime()
|
||||||
|
else:
|
||||||
|
args.last = crans_utils.localized_datetime(str_to_gtf(args.last))
|
||||||
|
if not args.begin:
|
||||||
|
args.begin = args.last.replace(year=args.last.year-1)
|
||||||
|
else:
|
||||||
|
args.begin = crans_utils.localized_datetime(str_to_gtf(args.begin))
|
||||||
|
|
||||||
|
_begin = crans_utils.datetime_to_generalized_time_format(args.begin)
|
||||||
|
_last = crans_utils.datetime_to_generalized_time_format(args.last)
|
||||||
|
|
||||||
|
filtre = u"(&(fid=*)(recuPaiement>=%(begin)s)(recuPaiement<=%(end)s)%(modes)s)"
|
||||||
|
|
||||||
if args.mode:
|
if args.mode:
|
||||||
_modes = args.mode.split(',')
|
_modes = args.mode.split(',')
|
||||||
|
@ -387,6 +411,8 @@ def trie_factures(ldap, args):
|
||||||
|
|
||||||
filtre = filtre % {
|
filtre = filtre % {
|
||||||
'modes': _modes,
|
'modes': _modes,
|
||||||
|
'begin': _begin,
|
||||||
|
'end': _last,
|
||||||
}
|
}
|
||||||
|
|
||||||
factures = ldap.search(filterstr=filtre, mode="w", sizelimit=0)
|
factures = ldap.search(filterstr=filtre, mode="w", sizelimit=0)
|
||||||
|
@ -401,11 +427,11 @@ def trie_factures(ldap, args):
|
||||||
return controle_ok, controle_non, sans_controle
|
return controle_ok, controle_non, sans_controle
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
(COLONNES, LIGNES) = affichage.getTerminalSize()
|
(COLONNES, LIGNES) = affichage.getTerminalSize()
|
||||||
|
|
||||||
PARSER = argparse.ArgumentParser(description="Script d'analyse d'échange de données entre un truc et un autre.", add_help=False)
|
PARSER = argparse.ArgumentParser(description="Script d'analyse d'échange de données entre un truc et un autre.", add_help=False)
|
||||||
PARSER.add_argument("-l", "--last", help="Date de début, dans un format compréhensible par postgresql (\"AAAA/MM/JJ HH:MM:SS\" fonctionne bien)", type=str, action="store")
|
PARSER.add_argument("-b", "--begin", help="Date de début, au format \"JJ/MM/AAAA HH:MM:SS\"", type=str, action="store")
|
||||||
|
PARSER.add_argument("-l", "--last", help="Date de fin, au format \"JJ/MM/AAAA HH:MM:SS\"", type=str, action="store")
|
||||||
PARSER.add_argument("-m", "--mode", help="Filtre sur le mode de paiement", type=str, action="store")
|
PARSER.add_argument("-m", "--mode", help="Filtre sur le mode de paiement", type=str, action="store")
|
||||||
PARSER.add_argument("-h", "--help", help="Affiche cette aide et quitte.", action="store_true")
|
PARSER.add_argument("-h", "--help", help="Affiche cette aide et quitte.", action="store_true")
|
||||||
PARSER.add_argument("-t", "--tri", help="Trie les factures suivant l'aid ou le fid", type=str, action="store")
|
PARSER.add_argument("-t", "--tri", help="Trie les factures suivant l'aid ou le fid", type=str, action="store")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue