trezor: don't retry on PIN/passphrase entry cancellation

This commit is contained in:
Roman Zeyde
2018-03-13 16:50:46 +02:00
parent df6249b071
commit dafb80ad7a

View File

@@ -75,6 +75,10 @@ def write(p, line):
p.stdin.flush() p.stdin.flush()
class UnexpectedError(Exception):
"""Unexpected response."""
def expect(p, prefixes): def expect(p, prefixes):
"""Read a line and return it without required prefix.""" """Read a line and return it without required prefix."""
resp = p.stdout.readline() resp = p.stdout.readline()
@@ -82,7 +86,7 @@ def expect(p, prefixes):
for prefix in prefixes: for prefix in prefixes:
if resp.startswith(prefix): if resp.startswith(prefix):
return resp[len(prefix):] return resp[len(prefix):]
raise ValueError('Unexpected response: {}'.format(resp)) raise UnexpectedError(resp)
def interact(title, description, prompt, binary, options): def interact(title, description, prompt, binary, options):