]> gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/old/check_integrity.py
typo
[scripts-20-100.git] / bde / old / check_integrity.py
1 #!/usr/bin/python
2 # -*- coding:utf8 -*-
3
4 from commands import getstatusoutput as ex
5 import os
6
7 req="""SELECT numcbde,pseudo,gagne-perdu as calcul,effectif,effectif-(gagne-perdu) as a_enlever
8 FROM
9 (SELECT numcbde,pseudo,
10 (SELECT sum(montant*quantite)
11 FROM transactions
12 WHERE destinataire=main.numcbde AND valide='t') as gagne,
13 (SELECT sum(montant*quantite)
14 FROM transactions
15 WHERE emetteur=main.numcbde AND valide='t') as perdu,
16 (SELECT solde
17 FROM adherents WHERE numcbde=main.numcbde) as effectif
18 FROM adherents as main)
19 AS calculs
20 WHERE gagne-perdu!=effectif AND numcbde!=0 ORDER BY numcbde;"""
21
22 message = "Vérification de l'intégrité\n"
23 integrite=ex('psql bde -c "%s"'%(req))[1]
24
25 i=integrite.split()[-2]
26 if i=="(0":
27 oups=False
28 message += "La base est intègre (sauf pour le compte du Bde)"
29 else:
30 oups=True
31 message += integrite
32
33 header = "From: note-integrity@bde.crans.org\nTo: root\n"
34 header += "Subject: Integrity Check"+" ARG !"*oups+"\n\n"
35 mailer=os.popen("/usr/sbin/sendmail -t", "w")
36 mailer.write(header+message+'\n.')
37 mailer.close()