commit fecef91ee02352016bcf6990821c2a42e84d2a82
parent cf01788c863e75827e859051560ab9fd2a586ca9
Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 21 May 2019 18:11:49 +0200
interface was suppressing storage r/w exceptions
Diffstat:
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/electrum/interface.py b/electrum/interface.py
@@ -28,6 +28,7 @@ import ssl
import sys
import traceback
import asyncio
+import socket
from typing import Tuple, Union, List, TYPE_CHECKING, Optional
from collections import defaultdict
from ipaddress import IPv4Network, IPv6Network, ip_address
@@ -332,7 +333,8 @@ class Interface(Logger):
return
try:
await self.open_session(ssl_context)
- except (asyncio.CancelledError, OSError, aiorpcx.socks.SOCKSError) as e:
+ except (asyncio.CancelledError, ConnectionError, socket.gaierror, aiorpcx.socks.SOCKSError) as e:
+ # note: catching OSError would be too broad here... don't want to catch file system exceptions
self.logger.info(f'disconnecting due to: {repr(e)}')
return
diff --git a/electrum/storage.py b/electrum/storage.py
@@ -58,6 +58,7 @@ class WalletStorage(Logger):
DB_Class = JsonDB
self.logger.info(f"wallet path {self.path}")
self.pubkey = None
+ # TODO we should test r/w permissions here (whether file exists or not)
if self.file_exists():
with open(self.path, "r", encoding='utf-8') as f:
self.raw = f.read()