]> gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/solde_date.py
7fb0960c2a5f9c8e8fd821dff39ae2d8169bfcdf
[scripts-20-100.git] / bde / solde_date.py
1 #!/usr/bin/python
2 # -*- coding:utf8 -*-
3
4 """ Codé par 20-100 le 21/04/12
5
6 sert à connaître le solde d'un compte à une date t donnée."""
7
8 import sys
9 import psycopg2,psycopg2.extras
10
11 con = psycopg2.connect(database='note')
12 cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
13
14 try:
15 idbde = int(sys.argv[1])
16 date = " ".join(sys.argv[2:])
17 # On checke que ça se comprend comme une date
18 if date in ["now","maintenant","today"]:
19 date = "now()"
20 else:
21 cur.execute("SELECT CAST(%s AS timestamp);",(date,))
22 except Exception, exc:
23 print "Usage : solde_date numcbde date\nDonne le solde de l'adhérent idbde à la date donnée."
24 exit(1)
25
26 cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide AND destinataire = %s AND date < CAST(%s AS timestamp)"
27 ,(idbde,date))
28 received = cur.fetchone()[0]
29 cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide AND emetteur = %s AND date < CAST(%s AS timestamp)"
30 ,(idbde,date))
31 given = cur.fetchone()[0]
32
33 print (received-given)/100.