From 4afec2f3f3754d28ad84e4e85105e7969e9189e8 Mon Sep 17 00:00:00 2001 From: strmci <36126939+strmci@users.noreply.github.com> Date: Mon, 28 Jan 2019 16:17:02 +0100 Subject: [PATCH] trezorctl: use ChoiceType for set_passphrase_source (#356) resolves #355 --- trezorctl | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/trezorctl b/trezorctl index b9cad3bd6c..2dbb324c6b 100755 --- a/trezorctl +++ b/trezorctl @@ -66,6 +66,15 @@ class ChoiceType(click.Choice): return self.typemap[value] +CHOICE_PASSPHRASE_SOURCE_TYPE = ChoiceType( + { + "ask": proto.PassphraseSourceType.ASK, + "device": proto.PassphraseSourceType.DEVICE, + "host": proto.PassphraseSourceType.HOST, + } +) + + CHOICE_RECOVERY_DEVICE_TYPE = ChoiceType( { "scrambled": proto.RecoveryDeviceType.ScrambledWords, @@ -253,10 +262,18 @@ def set_label(connect, label): return device.apply_settings(connect(), label=label) -@cli.command(help="Set passphrase source.") -@click.argument("source", type=int) +@cli.command() +@click.argument("source", type=CHOICE_PASSPHRASE_SOURCE_TYPE) @click.pass_obj def set_passphrase_source(connect, source): + """Set passphrase source. + + Configure how to enter passphrase on Trezor Model T. The options are: + + ask - always ask where to enter passphrase + device - always enter passphrase on device + host - always enter passphrase on host + """ return device.apply_settings(connect(), passphrase_source=source)