+++ /dev/null
-#!/usr/bin/env python
-# -*- encoding: utf-8 -*-
-
-""" Pour savoir combien de fois les gens sont passés en négatif """
-
-import psycopg2
-import psycopg2.extras
-
-def get_data(con):
- cur = con.cursor(cursor_factory = psycopg2.extras.DictCursor)
- cur.execute("SELECT * FROM transactions ORDER BY date ASC;")
- transactions = cur.fetchall()
- return transactions
-
-def combienneg(alltrans):
- nums = list(set([t["emetteur"] for t in alltrans] + [t["destinataire"] for t in alltrans]))
- soldes = dict([(n, 0) for n in nums])
- negs = dict([(n, []) for n in nums])
- for trans in [t for t in alltrans if t["valide"]]:
- for (num, signe) in [(trans["emetteur"], -1), (trans["destinataire"], 1)]:
- newsolde = soldes[num] + trans["montant"] * trans["quantite"] * signe
- if soldes[num] >= 0 and newsolde < 0:
- negs[num].append(t["date"])
- soldes[num] = newsolde
- return (negs, soldes)
-
-if __name__ == "__main__":
- con = psycopg2.connect(database="bde")
- transactions = get_data(con)
- (negs, soldes) = combienneg(transactions)