From 59feeed3cbe9f77d09809333b4ff2e8f85e24ece Mon Sep 17 00:00:00 2001 From: Jan Pochyla Date: Mon, 19 Dec 2016 11:32:08 +0100 Subject: [PATCH] apps.common.request_pin: add at_least_once --- src/apps/common/request_pin.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/apps/common/request_pin.py b/src/apps/common/request_pin.py index c059a57a..f8981e58 100644 --- a/src/apps/common/request_pin.py +++ b/src/apps/common/request_pin.py @@ -78,12 +78,13 @@ async def request_pin_twice(session_id: int) -> str: return pin_first -async def protect_by_pin(session_id: int): +async def protect_by_pin(session_id: int, at_least_once: bool=False): from . import storage - while storage.is_locked(): + locked = storage.is_locked() or at_least_once + while locked: pin = await request_pin(session_id) - storage.unlock(pin, _render_pin_failure) + locked = not storage.unlock(pin, _render_pin_failure) def _render_pin_failure(sleep_ms: int): @@ -99,7 +100,7 @@ def _get_code_and_label(code: int) -> str: if code == PinMatrixRequestType.NewFirst: label = 'Enter new PIN' elif code == PinMatrixRequestType.NewSecond: - label = 'Enter new PIN again' + label = 'Enter PIN again' else: # PinMatrixRequestType.Current label = 'Enter PIN' return code, label