--- /dev/null
+#!/usr/bin/python
+# -*- coding:utf8 -*-
+
+from commands import getstatusoutput as ex
+import os
+
+req="""SELECT numcbde,pseudo,gagne-perdu as calcul,effectif,effectif-(gagne-perdu) as a_enlever
+FROM
+ (SELECT numcbde,pseudo,
+ (SELECT sum(montant*quantite)
+ FROM transactions
+ WHERE destinataire=main.numcbde AND valide='t') as gagne,
+ (SELECT sum(montant*quantite)
+ FROM transactions
+ WHERE emetteur=main.numcbde AND valide='t') as perdu,
+ (SELECT solde
+ FROM adherents WHERE numcbde=main.numcbde) as effectif
+ FROM adherents as main)
+AS calculs
+WHERE gagne-perdu!=effectif AND numcbde!=0 ORDER BY numcbde;"""
+
+message = "Vérification de l'intégrité\n"
+integrite=ex('psql bde -c "%s"'%(req))[1]
+
+i=integrite.split()[-2]
+if i=="(0":
+ oups=False
+ message += "La base est intègre (sauf pour le compte du Bde)"
+else:
+ oups=True
+ message += integrite
+
+header = "From: note-integrity@bde.crans.org\nTo: root\n"
+header += "Subject: Integrity Check"+" ARG !"*oups+"\n\n"
+mailer=os.popen("/usr/sbin/sendmail -t", "w")
+mailer.write(header+message+'\n.')
+mailer.close()