Commit 8655170b authored by Daniel Stan's avatar Daniel Stan

truc à commit

parent 090f4382
......@@ -365,6 +365,12 @@ def all_files(options):
"""Récupère les fichiers du serveur distant"""
return remote_command(options, "listfiles")
@simple_memoize
def restore_all_files(options):
"""Récupère les fichiers du serveur distant"""
return remote_command(options, "restorefiles")
def get_files(options, filenames):
"""Récupère le contenu des fichiers distants"""
return remote_command(options, "getfiles", stdin_contents=filenames)
......@@ -475,7 +481,7 @@ def check_keys(options, recipients=None, quiet=False):
if not recipients is None:
# On cherche à savoir si on droppe ce recipient
message = u"Abandonner le chiffrement pour cette clé ? (Si vous la conservez, il est posible que gpg crashe)"
if confirm(options, message):
if confirm(options, message, ('drop', fpr, mail)):
drop = True # si on a répondu oui à "abandonner ?", on droppe
elif options.drop_invalid and options.force:
drop = True # ou bien si --drop-invalid avec --force nous autorisent à dropper silencieusement
......@@ -602,6 +608,16 @@ def show_files(options):
print((u" %s %s (%s)" % ((access and '+' or '-'), fname, ", ".join(froles))).encode("utf-8"))
print((u"""--Mes roles: %s""" % (", ".join(my_roles),)).encode("utf-8"))
def restore_files(options):
"""Restore les fichiers corrompues sur le serveur distant"""
print(u"Fichier corrompus :".encode("utf-8"))
files = restore_all_files(options)
keys = files.keys()
keys.sort()
for fname in keys:
print((u" %s (%s)" % ( fname, files[fname])).encode("utf-8"))
def show_roles(options):
"""Affiche la liste des roles existants"""
print(u"Liste des roles disponibles".encode("utf-8"))
......@@ -808,16 +824,29 @@ C'est-à-dire pour les utilisateurs suivants :\n%s""" % (
success, message = put_password(options, new_roles, ntexte)
print(message.encode("utf-8"))
def confirm(options, text):
"""Demande confirmation, sauf si on est mode ``--force``"""
_remember_dict = {}
def confirm(options, text, remember_key=None):
"""Demande confirmation, sauf si on est mode ``--force``.
Si ``remember_key`` est fourni, il doit correspondre à un objet hashable
qui permettra de ne pas poser deux fois les mêmes questions.
"""
global _remember_dict
if options.force:
return True
if remember_key in _remember_dict:
return _remember_dict[remember_key]
while True:
out = raw_input((text + u' (o/n)').encode("utf-8")).lower()
if out == 'o':
return True
res = True
break
elif out == 'n':
return False
res = False
break
# Remember the answer
if remember_key is not None:
_remember_dict[remember_key] = res
return res
@need_filename
def remove_file(options):
......@@ -972,6 +1001,9 @@ if __name__ == "__main__":
action_grp.add_argument('-l', '--list', action='store_const', dest='action',
default=show_file, const=show_files,
help="Lister les fichiers")
action_grp.add_argument('-r', '--restore', action='store_const', dest='action',
default=show_file, const=restore_files,
help="Restorer les fichiers corrompues")
action_grp.add_argument('--check-keys', action='store_const', dest='action',
default=show_file, const=my_check_keys,
help="Vérifier les clés")
......
#!/bin/bash
DEV=/dev/rfcomm3
DEV=/dev/rfcomm0
echo "$1" > $DEV
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment