tkivy: handle wallet opening failures - electrum - Electrum Bitcoin wallet HTML git clone https://git.parazyd.org/electrum DIR Log DIR Files DIR Refs DIR Submodules --- DIR commit 35fe8fc0c1da48c1de6834632fff654f04a0bb41 DIR parent f60c949911c78e7c6bfe060d959b54fae9288de8 HTML Author: ThomasV <thomasv@electrum.org> Date: Thu, 10 Mar 2016 10:18:29 +0100 kivy: handle wallet opening failures Diffstat: M gui/kivy/main_window.py | 15 ++++++++++++--- M gui/kivy/uix/dialogs/wallets.py | 2 +- 2 files changed, 13 insertions(+), 4 deletions(-) --- DIR diff --git a/gui/kivy/main_window.py b/gui/kivy/main_window.py t@@ -1,4 +1,5 @@ import re +import os import sys import time import datetime t@@ -370,12 +371,21 @@ class ElectrumWindow(App): if uri: self.set_URI(uri) + def get_wallet_path(self): + if self.wallet: + return self.wallet.storage.path + else: + return '' + def load_wallet_by_name(self, wallet_path): if not wallet_path: return config = self.electrum_config - storage = WalletStorage(wallet_path) - Logger.info('Electrum: Check for existing wallet') + try: + storage = WalletStorage(wallet_path) + except IOError: + self.show_error("Cannot read wallet file") + return if storage.file_exists: wallet = Wallet(storage) action = wallet.get_action() t@@ -587,7 +597,6 @@ class ElectrumWindow(App): global notification, os if not notification: from plyer import notification - import os icon = (os.path.dirname(os.path.realpath(__file__)) + '/../../' + self.icon) notification.notify('Electrum', message, DIR diff --git a/gui/kivy/uix/dialogs/wallets.py b/gui/kivy/uix/dialogs/wallets.py t@@ -23,7 +23,7 @@ Builder.load_string(''' dirselect: False filter_dirs: True filter: '*.*' - path: os.path.dirname(app.wallet.storage.path) + path: os.path.dirname(app.get_wallet_path()) size_hint_y: 0.6 Widget size_hint_y: 0.1