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
|
||||
de code."""
|
||||
|
||||
#pylint: disable=line-too-long
|
||||
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
|
@ -59,6 +61,16 @@ STYLES = {
|
|||
'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.
|
||||
def traiter_factures(ldap, args):
|
||||
"""Liste les factures et les trie suivant trois catégories
|
||||
|
@ -376,7 +388,19 @@ def trie_factures(ldap, args):
|
|||
controle_non = []
|
||||
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:
|
||||
_modes = args.mode.split(',')
|
||||
|
@ -387,6 +411,8 @@ def trie_factures(ldap, args):
|
|||
|
||||
filtre = filtre % {
|
||||
'modes': _modes,
|
||||
'begin': _begin,
|
||||
'end': _last,
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
(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.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("-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")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue