""" Codé par 20-100 le 21/04/12
- sert à connaître le solde d'un comtpe à une date t donnée."""
+ sert à connaître le solde d'un compte à une date t donnée."""
import sys
import psycopg2,psycopg2.extras
-con=psycopg2.connect(database='bde')
-cur=con.cursor(cursor_factory=psycopg2.extras.DictCursor)
+con = psycopg2.connect(database='note')
+cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
try:
- numcbde=int(sys.argv[1])
- date=" ".join(sys.argv[2:])
- #on checke que ça se comprend comme une date
+ idbde = int(sys.argv[1])
+ date = " ".join(sys.argv[2:])
+ # On checke que ça se comprend comme une date
if date in ["now","maintenant","today"]:
- date="now()"
+ date = "now()"
else:
cur.execute("SELECT CAST(%s AS timestamp);",(date,))
except Exception, exc:
- print "Usage : solde_date numcbde date\nDonne le solde de l'adhérent numcbde à la date donnée."
+ print "Usage : solde_date numcbde date\nDonne le solde de l'adhérent idbde à la date donnée."
exit(1)
-cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide=true AND destinataire=%s AND date<CAST(%s AS timestamp)"
- ,(numcbde,date))
-received=cur.fetchone()[0]
-cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide=true AND emetteur=%s AND date<CAST(%s AS timestamp)"
- ,(numcbde,date))
-given=cur.fetchone()[0]
+cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide AND destinataire = %s AND date < CAST(%s AS timestamp)"
+ ,(idbde,date))
+received = cur.fetchone()[0]
+cur.execute("SELECT sum(montant*quantite) FROM transactions WHERE valide AND emetteur = %s AND date < CAST(%s AS timestamp)"
+ ,(idbde,date))
+given = cur.fetchone()[0]
-print received-given
+print (received-given)/100