]> gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/solde_date.py
typo
[scripts-20-100.git] / bde / solde_date.py
1 #!/usr/bin/python
2 # -*- coding:utf8 -*-
3
4 """
5 Codé par 20-100 le 21/04/12
6
7 Sert à connaître le solde d'un compte à une date t donnée.
8
9 Usage : solde_date.py idbde date
10 """
11
12 import sys
13 import psycopg2
14 import psycopg2.extras
15
16 import base
17
18 def get_solde_date(idbde, date="now"):
19 """Calcule le solde du compte ``idbde`` à la ``date`` donnée."""
20 con, cur = base.getcursor()
21 cur.execute(
22 """
23 SELECT COALESCE(sum(montant*quantite), 0)
24 FROM transactions
25 WHERE valide
26 AND destinataire = %s
27 AND date <= CAST(%s AS timestamp)
28 """,
29 (idbde, date))
30 received = cur.fetchone()[0]
31 cur.execute(
32 """
33 SELECT COALESCE(sum(montant*quantite), 0)
34 FROM transactions
35 WHERE valide
36 AND emetteur = %s
37 AND date <= CAST(%s AS timestamp)
38 """,
39 (idbde, date))
40 given = cur.fetchone()[0]
41 return received - given
42
43 if __name__ == "__main__":
44 idbde = int(sys.argv[1])
45 date = " ".join(sys.argv[2:])
46 solde = get_solde_date(idbde, date)
47 print solde/100.