gpg: use pymsgbox for PIN entrering UI

nistp521
Roman Zeyde 7 years ago
parent bab46dae5c
commit 08fef24e39
No known key found for this signature in database
GPG Key ID: 87CAE5FA46917CBB

@ -5,6 +5,7 @@ import logging
import os import os
import sys import sys
import pymsgbox # pylint: disable=import-error
import semver import semver
from . import interface from . import interface
@ -38,24 +39,17 @@ class Trezor(interface.Device):
if not sys.stdin.closed and os.isatty(sys.stdin.fileno()): if not sys.stdin.closed and os.isatty(sys.stdin.fileno()):
return conn.callback_PinMatrixRequest # CLI-based PIN handler return conn.callback_PinMatrixRequest # CLI-based PIN handler
def qt_handler(_): def ui_handler(_):
# pylint: disable=import-error
from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit
label = ('Use the numeric keypad to describe number positions.\n' label = ('Use the numeric keypad to describe number positions.\n'
'The layout is:\n' 'The layout is:\n'
' 7 8 9\n' ' 7 8 9\n'
' 4 5 6\n' ' 4 5 6\n'
' 1 2 3\n' ' 1 2 3\n'
'Please enter PIN:') 'Please enter PIN:')
app = QApplication([]) scrambled_pin = pymsgbox.password(label)
qd = QInputDialog() return self._defs.PinMatrixAck(pin=scrambled_pin)
qd.setTextEchoMode(QLineEdit.Password)
qd.setLabelText(label) return ui_handler
qd.show()
app.exec_()
return self._defs.PinMatrixAck(pin=qd.textValue())
return qt_handler
for d in self._defs.Transport.enumerate(): for d in self._defs.Transport.enumerate():
log.debug('endpoint: %s', d) log.debug('endpoint: %s', d)

@ -17,6 +17,7 @@ setup(
install_requires=[ install_requires=[
'ecdsa>=0.13', 'ecdsa>=0.13',
'ed25519>=1.4', 'ed25519>=1.4',
'pymsgbox>=1.0.6',
'semver>=2.2', 'semver>=2.2',
'unidecode>=0.4.20', 'unidecode>=0.4.20',
], ],

Loading…
Cancel
Save