]>
gitweb.pimeys.fr Git - scripts-20-100.git/blob - bde/voir_droits.py
4 """ Script pour afficher qui a quels droits.
6 Affiche les prénom, nom, pseudo, droits, surdroits des gens qui ont des droits!=par défaut.
7 droits et surdroits sont pretty-printés pour qu'on les comprenne.
10 from pyPgSQL
import PgSQL
12 con
=PgSQL
.connect(database
="bde")
15 cur
.execute("SELECT prenom,nom,pseudo,droits,surdroits,supreme FROM adherents WHERE numcbde>-1"
16 +" AND NOT droits in (0,1) AND supreme='f' ORDER BY droits;")
19 #: Correspondance binaire → droit
36 32768 : "Accès extérieur",
37 65536 : "Préinscriptions"
40 pow2
=[2**i
for i
in range(17)]
43 vrail
.append([ligne
["prenom"],ligne
["nom"],ligne
["pseudo"],
44 ",".join([dicodroits
[i
] for i
in pow2
if ligne
["droits"]&i
]),
45 ",".join([dicodroits
[i
] for i
in pow2
if ligne
["surdroits"]&i
])])
48 lenprenom
= max([len(unicode(ligne
[0])) for ligne
in vrail
]+[len(u
"prénom")])
49 lennom
= max([len(unicode(ligne
[1])) for ligne
in vrail
]+[len(u
"nom")])
50 lenpseudo
= max([len(unicode(ligne
[2])) for ligne
in vrail
]+[len(u
"pseudo")])
51 lendroits
= max([len(unicode(ligne
[3])) for ligne
in vrail
]+[len(u
"droits")])
52 lensurdroits
= max([len(unicode(ligne
[4])) for ligne
in vrail
]+[len(u
"surdroits")])
54 template
=" %%-%ds | %%-%ds | %%-%ds | %%-%ds | %%-%ds \n"%(lenprenom
,lennom
,lenpseudo
,lendroits
,lensurdroits
)
56 pretty
=template
%("prénom","nom","pseudo","droits","surdroits")
57 pretty
+="-"*(lenprenom
+2)+"+"+"-"*(lennom
+2)+"+"+"-"*(lenpseudo
+2)+"+"+"-"*(lendroits
+2)+"+"+"-"*(lensurdroits
+2)+"\n"
59 pretty
+=template
%(tuple([unicode(j
) for j
in i
]))