Commit 23ff2d58 authored by Daniel Stan's avatar Daniel Stan

répare les options --(no)?clipboard

Vincent me les as cassé lors du commit ab2f04c6. En particulier
il a remplacé la variable de destination de --noclipboard en "clipboard"
sans changer la valeur à enregistrer (qui était False). Bref, quand on
tapait "--noclipboard" ça enregistrait False dans la variable "noclipboard" …
L'option --clipboard était devenue du code mort …

Voilà le comportement souhaité :
À moins que l'utilisateur ne précise une option, on essaie de deviner si un
clipboard est dispo et on l'utilise.

Si l'utilisateur utilise une des options, il a raison et on l'écoute sans
se poser de questions. Typiquement, si "--clipboard" est précisé, on n'a
pas à vérifier nous-même que /usr/bin/xclip existe. Par ailleurs, cela
permet de faire marcher le clipboard sur des setups "exotiques", par
exemple s'il n'est pas dans /usr/bin/. Remarquer que l'appel à xclip
se fait en relatif contrairement au test, ce qui permet d'override xclip ou d'en
mettre un autre perso dans son ~/bin/.

Rajout d'un commentaire dans le code, pour éviter qu'on ne ré-efface cette
feature :(
parent 9473004e
......@@ -813,7 +813,7 @@ if __name__ == "__main__":
parser.add_argument('-c', '--clipboard', action='store_true', default=None,
help="Stocker le mot de passe dans le presse papier")
parser.add_argument('--no-clip', '--noclip', '--noclipboard', action='store_false', default=None,
dest='noclipboard',
dest='clipboard',
help="Ne PAS stocker le mot de passe dans le presse papier")
parser.add_argument('-f', '--force', action='store_true', default=False,
help="Ne pas demander confirmation")
......@@ -865,9 +865,12 @@ if __name__ == "__main__":
## On calcule les options qui dépendent des autres.
## C'est un peu un hack, peut-être que la méthode propre serait de surcharger argparse.ArgumentParser
## et argparse.Namespace, mais j'ai pas réussi à comprendre commenr m'en sortir.
# On utilise le clipboard si on n'a pas demandé explicitement à ne pas le faire,
# qu'on n'est pas en session distante et qu'on a xclip
options.clipboard = not options.noclipboard and bool(os.getenv('DISPLAY')) and os.path.exists('/usr/bin/xclip')
# ** Presse papier **
# Si l'utilisateur n'a rien dit (ni option --clipboard ni --noclipboard),
# on active le clipboard par défaut, à la condition
# que xclip existe et qu'il a un serveur graphique auquel parler.
if options.clipboard is None:
options.clipboard = bool(os.getenv('DISPLAY')) and os.path.exists('/usr/bin/xclip')
# On récupère les données du serveur à partir du nom fourni
options.serverdata = config.servers[options.server]
# Attention à l'ordre pour interactive
......
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