X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=bde%2Fcredits_duplicates.py;h=3669e8e51b336b3e4450e5f1c147b996cbc5904b;hb=f214da146daf305df5babdf646de5215ab76dcca;hp=e9185d3b742d412c805003ea0e8d061182065c4c;hpb=0861fdc7cb0d07cacbfd0d8b9e7914ec7e623c88;p=scripts-20-100.git diff --git a/bde/credits_duplicates.py b/bde/credits_duplicates.py index e9185d3..3669e8e 100755 --- a/bde/credits_duplicates.py +++ b/bde/credits_duplicates.py @@ -107,6 +107,7 @@ def sort_by_blocks(data): l.sort() result = [", ".join([str(i) for i in l]) for l in result] result = list(set(result)) + result.sort(key=lambda x : int(x.split(",")[0])) return result def get_transactions(cur, ids): @@ -124,14 +125,15 @@ def interactive(blocks, cur, args): ou d'afficher une liste de toutes celles à dévalider. """ ids_to_devalidate = [] + total = 0 for b in blocks: lb = [int(i) for i in b.split(",")] l = get_transactions(cur, b) - formatted = pretty_print.sql_pretty_print(l, keys=["id", "date", "type", "emetteur", "destinataire", "quantite", "montant", "description", "valide", "cantinvalidate"]) + formatted = pretty_print.sql_pretty_print(l, keys=["id", "date", "type", "emetteur", "destinataire", "quantite", "montant", "description", "valide", "cantinvalidate", "prenom", "nom"]) if not args.noless: p = subprocess.Popen(["less"], stdin=subprocess.PIPE) p.communicate(formatted.encode("utf-8")) - print formatted + print formatted.encode("utf-8") print "IDs : %s" % b idkeep = lb[0] question = "Ne garder que %s (= dévalider les autres) ? [o/N/s]" % idkeep @@ -145,8 +147,11 @@ def interactive(blocks, cur, args): elif ans.lower() in ["s"]: lb.remove(idkeep) ids_to_devalidate.extend(lb) + total += l[0]["montant"] * (len(l) - 1) if ids_to_devalidate: - print "\nIDs de transactions à dévalider :\n" + ",".join([str(i) for i in ids_to_devalidate]) + print "\nIDs de transactions à dévalider (%s) :" % len(ids_to_devalidate) + print ",".join([str(i) for i in ids_to_devalidate]) + print "Montant total : %s" % (total,) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Liste les crédits semblables trop proches dans le temps et propose de les dévalider tous sauf 1.")