On n'a plus besoin de la variable de conf 'user' sur le client, le serveur la renvoie dans le rôle whoami.

Du coup, évidemment, il ne faut pas définir un rôle "whoami".
Si le serveur en trouve un, il lèvera une exception.
This commit is contained in:
Vincent Le Gallic 2013-07-30 06:15:27 +02:00
parent 8c83f0c29d
commit 300f13b236
3 changed files with 13 additions and 13 deletions

View file

@ -300,7 +300,8 @@ def rm_file(filename):
def get_my_roles(options):
"""Retourne la liste des rôles de l'utilisateur, et également la liste des rôles dont il possède le role-w."""
allroles = all_roles(options)
my_roles = [r for (r, users) in allroles.iteritems() if options.serverdata['user'] in users]
distant_username = allroles.pop("whoami")
my_roles = [r for (r, users) in allroles.iteritems() if distant_username in users]
my_roles_w = [r[:-2] for r in my_roles if r.endswith("-w")]
return (my_roles, my_roles_w)
@ -415,6 +416,7 @@ def get_recipients_of_roles(options, roles):
"""Renvoie les destinataires d'une liste de rôles"""
recipients = set()
allroles = all_roles(options)
allroles.pop("whoami")
for role in roles:
for recipient in allroles[role]:
recipients.add(recipient)
@ -513,7 +515,9 @@ def show_files(options):
def show_roles(options):
"""Affiche la liste des roles existants"""
print(u"Liste des roles disponibles".encode("utf-8"))
for (role, usernames) in all_roles(options).iteritems():
allroles = all_roles(options)
allroles.pop("whoami")
for (role, usernames) in allroles.iteritems():
if not role.endswith('-w'):
print((u" * %s : %s" % (role, ", ".join(usernames))).encode("utf-8"))