X-Git-Url: http://gitweb.pimeys.fr/?a=blobdiff_plain;f=bde%2Fold%2Fvoir_droits.py;fp=bde%2Fold%2Fvoir_droits.py;h=9a94fd6fdee3dd3fdf0bebcf99f5d20dd0d801fa;hb=62bd5a01bbcc7b96c4b1dd098415253d14492517;hp=0000000000000000000000000000000000000000;hpb=7630720dd491fa53093743e683d4e05f22d03afd;p=scripts-20-100.git diff --git a/bde/old/voir_droits.py b/bde/old/voir_droits.py new file mode 100755 index 0000000..9a94fd6 --- /dev/null +++ b/bde/old/voir_droits.py @@ -0,0 +1,61 @@ +#!/usr/bin/python +# -*- coding:utf8 -*- + +""" Script pour afficher qui a quels droits. + + Affiche les prénom, nom, pseudo, droits, surdroits des gens qui ont des droits!=par défaut. + droits et surdroits sont pretty-printés pour qu'on les comprenne. +""" + +from pyPgSQL import PgSQL + +con=PgSQL.connect(database="bde") +cur=con.cursor() + +cur.execute("SELECT prenom,nom,pseudo,droits,surdroits,supreme FROM adherents WHERE numcbde>-1" + +" AND NOT droits in (0,1) AND supreme='f' ORDER BY droits;") +l=cur.fetchall() + +#: Correspondance binaire → droit +dicodroits={ + 1 : "Intranet", + 2 : "Note", + 4 : "Consos", + 8 : "Adhérents", + 16 : "Boutons", + 32 : "Inscriptions", + 64 : "Activités", + 128 : "Invités", + 256 : "Transactions", + 512 : "Forcé", + 1024 : "Chèques", + 2048 : "Webmaster", + 4096 : "Wei", + 8192 : "Sendmail", + 16384 : "Bureau", + 32768 : "Accès extérieur", + 65536 : "Préinscriptions" + } + +pow2=[2**i for i in range(17)] +vrail=[] +for ligne in l: + vrail.append([ligne["prenom"],ligne["nom"],ligne["pseudo"], + ",".join([dicodroits[i] for i in pow2 if ligne["droits"]&i]), + ",".join([dicodroits[i] for i in pow2 if ligne["surdroits"]&i])]) + + +lenprenom = max([len(unicode(ligne[0])) for ligne in vrail]+[len(u"prénom")]) +lennom = max([len(unicode(ligne[1])) for ligne in vrail]+[len(u"nom")]) +lenpseudo = max([len(unicode(ligne[2])) for ligne in vrail]+[len(u"pseudo")]) +lendroits = max([len(unicode(ligne[3])) for ligne in vrail]+[len(u"droits")]) +lensurdroits = max([len(unicode(ligne[4])) for ligne in vrail]+[len(u"surdroits")]) + +template=" %%-%ds | %%-%ds | %%-%ds | %%-%ds | %%-%ds \n"%(lenprenom,lennom,lenpseudo,lendroits,lensurdroits) + +pretty=template%("prénom","nom","pseudo","droits","surdroits") +pretty+="-"*(lenprenom+2)+"+"+"-"*(lennom+2)+"+"+"-"*(lenpseudo+2)+"+"+"-"*(lendroits+2)+"+"+"-"*(lensurdroits+2)+"\n" +for i in vrail: + pretty+=template%(tuple([unicode(j) for j in i])) + +print pretty