From dafb80ad7a76d2157c08d2348a0c236dcd39d7fb Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Tue, 13 Mar 2018 16:50:46 +0200 Subject: [PATCH] trezor: don't retry on PIN/passphrase entry cancellation --- libagent/device/ui.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/libagent/device/ui.py b/libagent/device/ui.py index d73d91d..b3c502c 100644 --- a/libagent/device/ui.py +++ b/libagent/device/ui.py @@ -75,6 +75,10 @@ def write(p, line): p.stdin.flush() +class UnexpectedError(Exception): + """Unexpected response.""" + + def expect(p, prefixes): """Read a line and return it without required prefix.""" resp = p.stdout.readline() @@ -82,7 +86,7 @@ def expect(p, prefixes): for prefix in prefixes: if resp.startswith(prefix): return resp[len(prefix):] - raise ValueError('Unexpected response: {}'.format(resp)) + raise UnexpectedError(resp) def interact(title, description, prompt, binary, options):