]> gitweb.pimeys.fr Git - scripts-20-100.git/blobdiff - bde/supprimer_quelquun.py
[bde] Shortcuts utiles++
[scripts-20-100.git] / bde / supprimer_quelquun.py
diff --git a/bde/supprimer_quelquun.py b/bde/supprimer_quelquun.py
new file mode 100755 (executable)
index 0000000..12319b2
--- /dev/null
@@ -0,0 +1,48 @@
+#!/usr/bin/python
+# -*- coding:utf8 -*-
+
+""" Codé par 20-100
+    pour "supprimer" quelqu'un dans la note, c'est-à-dire anonymiser le compte.
+"""
+
+# from commands import getstatusoutput as ex
+from pretty_print import sql_pretty_print as spp
+import psycopg2, psycopg2.extras
+
+print "\e[1;31mAttention, je ne supprime rien, je ne fais que transformer en Erreur,Erreur...\e[0m"
+
+debut=raw_input("Premier id : ")
+debut=int(debut)
+fin=raw_input("Dernier id (vide pour 1 seul) : ")
+if fin=="":
+  fin=debut
+else:
+  fin=int(fin)
+
+con = psycopg2.connect(database="bde")
+cur = con.cursor(cursor_factory=psycopg2.extras.DictCursor)
+
+cur.execute("SELECT * FROM adherents WHERE numcbde>=%s AND numcbde<=%s ORDER BY numcbde;",  (debut,fin))
+l = cur.fetchall()
+
+paspossibles = [i for i in l if i["solde"]!=0]
+if len(paspossibles)>0:
+    print "\e[1;31mJe supprimerai pas quelqu'un dont le solde n'est pas nul : %s\e[0m" % (",".join([str(adh["numcbde"]) for adh in paspossibles]))
+    exit(1)
+
+
+print spp(l, ["numcbde", "nom", "prenom", "pseudo", "solde"])
+
+ans=raw_input("""Êtes-vous sûr de vouloir les "supprimer" ? """)
+if ans in ["oui","o","O","OUI","Y","y","YES","yes"]:
+    cur.execute("""UPDATE adherents
+                   SET prenom='Erreur', nom='Erreur', sexe='E', pseudo=numcbde,
+                       passwd='!', section='', adresse='', email='nobody@crans.org',
+                       droits=0, surdroits=0, supreme='f', bloque='t', fonction='',
+                       mail_info=0, club='f', telephone='', theme='UNI', pbsante='',
+                       normalien='t', numsecu='' WHERE numcbde>=%s AND numcbde<=%s;
+                """ % (debut, fin))
+    cur.execute("COMMIT;")
+    print "Et bim !"
+else:
+    print "Nothing Done"