Delegate firmware update and better error message when connection to the dongle fails
This commit is contained in:
parent
692f49e7af
commit
796d52ac09
|
@ -27,6 +27,7 @@ try:
|
|||
from btchip.btchipUtils import compress_public_key,format_transaction, get_regular_input_script
|
||||
from btchip.bitcoinTransaction import bitcoinTransaction
|
||||
from btchip.btchipPersoWizard import StartBTChipPersoDialog
|
||||
from btchip.btchipFirmwareWizard import updateFirmware
|
||||
from btchip.btchipException import BTChipException
|
||||
BTCHIP = True
|
||||
BTCHIP_DEBUG = False
|
||||
|
@ -142,12 +143,16 @@ class BTChipWallet(NewWallet):
|
|||
d.setWaitImpl(DongleWaitQT(d))
|
||||
self.client = btchip(d)
|
||||
firmware = self.client.getFirmwareVersion()['version'].split(".")
|
||||
if int(firmware[0]) <> 1 or int(firmware[1]) <> 4:
|
||||
aborted = True
|
||||
raise Exception("Unsupported firmware version")
|
||||
if int(firmware[2]) < 9:
|
||||
aborted = True
|
||||
raise Exception("Please update your firmware - 1.4.9 or higher is necessary")
|
||||
if int(firmware[0]) <> 1 or int(firmware[1]) <> 4 or int(firmware[2]) < 9:
|
||||
d.close()
|
||||
try:
|
||||
updateFirmware()
|
||||
except Exception, e:
|
||||
aborted = True
|
||||
raise e
|
||||
d = getDongle(BTCHIP_DEBUG)
|
||||
d.setWaitImpl(DongleWaitQT(d))
|
||||
self.client = btchip(d)
|
||||
try:
|
||||
self.client.getOperationMode()
|
||||
except BTChipException, e:
|
||||
|
@ -193,7 +198,7 @@ class BTChipWallet(NewWallet):
|
|||
pass
|
||||
self.client = None
|
||||
if not aborted:
|
||||
raise Exception("Could not connect to your BTChip dongle. Please verify access permissions or PIN")
|
||||
raise Exception("Could not connect to your BTChip dongle. Please verify access permissions, PIN, or unplug the dongle and plug it again")
|
||||
else:
|
||||
raise e
|
||||
self.client.bad = False
|
||||
|
|
Loading…
Reference in New Issue