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 = Interface(config, True)
|
||||||
interface.start()
|
interface.start()
|
||||||
|
interface.send([('server.peers.subscribe',[])])
|
||||||
|
|
||||||
wallet.interface = interface
|
wallet.interface = interface
|
||||||
WalletSynchronizer(wallet, config).start()
|
WalletSynchronizer(wallet, config).start()
|
||||||
|
|
|
@ -88,6 +88,28 @@ class Interface(threading.Thread):
|
||||||
with self.lock:
|
with self.lock:
|
||||||
method, params, channel = self.unanswered_requests.pop(msg_id)
|
method, params, channel = self.unanswered_requests.pop(msg_id)
|
||||||
result = c.get('result')
|
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:
|
else:
|
||||||
# notification: find the channel(s)
|
# notification: find the channel(s)
|
||||||
method = c.get('method')
|
method = c.get('method')
|
||||||
|
|
|
@ -873,7 +873,6 @@ class WalletSynchronizer(threading.Thread):
|
||||||
self.interface.send([('server.banner',[])],'synchronizer')
|
self.interface.send([('server.banner',[])],'synchronizer')
|
||||||
|
|
||||||
# subscriptions
|
# subscriptions
|
||||||
self.interface.send([('server.peers.subscribe',[])],'synchronizer')
|
|
||||||
self.subscribe_to_addresses(self.wallet.all_addresses())
|
self.subscribe_to_addresses(self.wallet.all_addresses())
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
|
@ -907,27 +906,6 @@ class WalletSynchronizer(threading.Thread):
|
||||||
self.wallet.tx_result = result
|
self.wallet.tx_result = result
|
||||||
self.wallet.tx_event.set()
|
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':
|
elif method == 'server.banner':
|
||||||
self.wallet.banner = result
|
self.wallet.banner = result
|
||||||
self.wallet.was_updated = True
|
self.wallet.was_updated = True
|
||||||
|
|
Loading…
Reference in New Issue