répare les options --(no)?clipboard
Vincent me les as cassé lors du commit ab2f04c60f
. 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 :(
This commit is contained in:
parent
9473004e03
commit
23ff2d58ee
1 changed files with 7 additions and 4 deletions
11
client.py
11
client.py
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue