From f6911a00163e092396e529440883e9fa70374358 Mon Sep 17 00:00:00 2001 From: Roman Zeyde Date: Sun, 21 May 2017 21:03:04 +0300 Subject: [PATCH] pin: use PyQt only when running with no TTY --- libagent/device/trezor.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libagent/device/trezor.py b/libagent/device/trezor.py index d142424..95bf951 100644 --- a/libagent/device/trezor.py +++ b/libagent/device/trezor.py @@ -3,6 +3,7 @@ import binascii import logging import os +import sys import semver @@ -34,12 +35,12 @@ class Trezor(interface.Device): return self._defs.PassphraseAck(passphrase=self.passphrase) def create_pin_handler(conn): - try: - from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit - except ImportError: + if os.isatty(sys.stdin.fileno()): return conn.callback_PinMatrixRequest # CLI-based PIN handler def qt_handler(_): + # pylint: disable=import-error + from PyQt5.QtWidgets import QApplication, QInputDialog, QLineEdit label = ('Use the numeric keypad to describe number positions.\n' 'The layout is:\n' ' 7 8 9\n'