move 'peers.subscribe' and 'server.version' calls into the interface

This commit is contained in:
ThomasV 2012-10-27 14:15:03 +02:00
parent 18c9c2f369
commit cfb3aa6a12
3 changed files with 23 additions and 22 deletions

View File

@ -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()

View File

@ -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')

View File

@ -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