]> gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/solde_date.py
[bde] Shortcuts utiles++
[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 comtpe à une date t donnée."""
7
8 import sys
9 import psycopg2,psycopg2.extras
10
11 con=psycopg2.connect(database='bde')
12 cur=con.cursor(cursor_factory=psycopg2.extras.DictCursor)
13
14 try:
15 numcbde=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 numcbde à la date donnée."
24 exit(1)
25
26 cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide=true AND destinataire=%s AND date<CAST(%s AS timestamp)"
27 ,(numcbde,date))
28 received=cur.fetchone()[0]
29 cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide=true AND emetteur=%s AND date<CAST(%s AS timestamp)"
30 ,(numcbde,date))
31 given=cur.fetchone()[0]
32
33 print received-given