]> gitweb.pimeys.fr Git - scripts-20-100.git/blobdiff - bde/old/check_integrity.py
[bde/old] Des vieux scripts recodés dans bde:/usr/scripts ou déclarés inutiles
[scripts-20-100.git] / bde / old / check_integrity.py
diff --git a/bde/old/check_integrity.py b/bde/old/check_integrity.py
new file mode 100644 (file)
index 0000000..d0c49d9
--- /dev/null
@@ -0,0 +1,37 @@
+#!/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()