Browse Source

Merge #265: python3 fixes for electruminterface

78d5f7e python3 fixes for electruminterface (James Hilliard)
master
AdamISZ 7 years ago
parent
commit
0d11abf995
No known key found for this signature in database
GPG Key ID: 141001A1AF77F20B
  1. 9
      jmclient/jmclient/electruminterface.py

9
jmclient/jmclient/electruminterface.py

@ -30,7 +30,7 @@ class ElectrumConnectionError(Exception):
class TxElectrumClientProtocol(LineReceiver): class TxElectrumClientProtocol(LineReceiver):
#map deferreds to msgids to correctly link response with request #map deferreds to msgids to correctly link response with request
deferreds = {} deferreds = {}
delimiter = "\n" delimiter = b"\n"
def __init__(self, factory): def __init__(self, factory):
self.factory = factory self.factory = factory
@ -75,7 +75,7 @@ class TxElectrumClientProtocol(LineReceiver):
def lineReceived(self, line): def lineReceived(self, line):
try: try:
parsed = json.loads(line) parsed = json.loads(line.decode())
msgid = parsed['id'] msgid = parsed['id']
linked_deferred = self.deferreds[msgid] linked_deferred = self.deferreds[msgid]
except: except:
@ -137,7 +137,7 @@ class ElectrumConn(threading.Thread):
all_data = data all_data = data
else: else:
all_data = all_data + data all_data = all_data + data
if '\n' in all_data: if b'\n' in all_data:
break break
data_json = json.loads(all_data[:-1].decode()) data_json = json.loads(all_data[:-1].decode())
self.RetQueue.put(data_json) self.RetQueue.put(data_json)
@ -226,12 +226,13 @@ class ElectrumInterface(BlockchainInterface):
#mark as not currently synced #mark as not currently synced
self.wallet_synced = False self.wallet_synced = False
if self.synctype == "sync-only": if self.synctype == "sync-only":
if not reactor.running:
reactor.run() reactor.run()
def get_server(self, electrum_server): def get_server(self, electrum_server):
if not electrum_server: if not electrum_server:
while True: while True:
electrum_server = random.choice(get_default_servers().keys()) electrum_server = random.choice(list(get_default_servers().keys()))
if DEFAULT_PROTO in get_default_servers()[electrum_server]: if DEFAULT_PROTO in get_default_servers()[electrum_server]:
break break
s = electrum_server s = electrum_server

Loading…
Cancel
Save