move 'peers.subscribe' and 'server.version' calls into the interface
This commit is contained in:
parent
18c9c2f369
commit
cfb3aa6a12
1
electrum
1
electrum
|
@ -188,6 +188,7 @@ if __name__ == '__main__':
|
|||
|
||||
interface = Interface(config, True)
|
||||
interface.start()
|
||||
interface.send([('server.peers.subscribe',[])])
|
||||
|
||||
wallet.interface = interface
|
||||
WalletSynchronizer(wallet, config).start()
|
||||
|
|
|
@ -88,6 +88,28 @@ class Interface(threading.Thread):
|
|||
with self.lock:
|
||||
method, params, channel = self.unanswered_requests.pop(msg_id)
|
||||
result = c.get('result')
|
||||
|
||||
if method == 'server.version':
|
||||
self.server_version = result
|
||||
|
||||
elif method == 'server.peers.subscribe':
|
||||
servers = []
|
||||
for item in result:
|
||||
s = []
|
||||
host = item[1]
|
||||
ports = []
|
||||
version = None
|
||||
if len(item) > 2:
|
||||
for v in item[2]:
|
||||
if re.match("[stgh]\d+", v):
|
||||
ports.append((v[0], v[1:]))
|
||||
if re.match("v(.?)+", v):
|
||||
version = v[1:]
|
||||
if ports and version:
|
||||
servers.append((host, ports))
|
||||
self.servers = servers
|
||||
self.trigger_callback('peers')
|
||||
|
||||
else:
|
||||
# notification: find the channel(s)
|
||||
method = c.get('method')
|
||||
|
|
|
@ -873,7 +873,6 @@ class WalletSynchronizer(threading.Thread):
|
|||
self.interface.send([('server.banner',[])],'synchronizer')
|
||||
|
||||
# subscriptions
|
||||
self.interface.send([('server.peers.subscribe',[])],'synchronizer')
|
||||
self.subscribe_to_addresses(self.wallet.all_addresses())
|
||||
|
||||
while True:
|
||||
|
@ -907,27 +906,6 @@ class WalletSynchronizer(threading.Thread):
|
|||
self.wallet.tx_result = result
|
||||
self.wallet.tx_event.set()
|
||||
|
||||
elif method == 'server.version':
|
||||
pass
|
||||
|
||||
elif method == 'server.peers.subscribe':
|
||||
servers = []
|
||||
for item in result:
|
||||
s = []
|
||||
host = item[1]
|
||||
ports = []
|
||||
version = None
|
||||
if len(item) > 2:
|
||||
for v in item[2]:
|
||||
if re.match("[stgh]\d+", v):
|
||||
ports.append((v[0], v[1:]))
|
||||
if re.match("v(.?)+", v):
|
||||
version = v[1:]
|
||||
if ports and version:
|
||||
servers.append((host, ports))
|
||||
self.interface.servers = servers
|
||||
self.interface.trigger_callback('peers')
|
||||
|
||||
elif method == 'server.banner':
|
||||
self.wallet.banner = result
|
||||
self.wallet.was_updated = True
|
||||
|
|
Loading…
Reference in New Issue