1
0

update scripts/servers to display server version

This commit is contained in:
ThomasV
2017-09-07 09:41:21 +02:00
parent ff5074207c
commit 70af22c9e4
4 changed files with 20 additions and 54 deletions

View File

@@ -120,18 +120,21 @@ def parse_servers(result):
elif re.match("p\d*", v):
pruning_level = v[1:]
if pruning_level == '': pruning_level = '0'
try:
is_recent = util.normalize_version(version) >= util.normalize_version(PROTOCOL_VERSION)
except Exception as e:
print_error(e)
is_recent = False
if out and is_recent:
if out:
out['pruning'] = pruning_level
out['version'] = version
servers[host] = out
return servers
def filter_version(servers):
def is_recent(version):
try:
return util.normalize_version(version) >= util.normalize_version(PROTOCOL_VERSION)
except Exception as e:
return False
return {k: v for k, v in servers.items() if is_recent(v.get('version'))}
def filter_protocol(hostmap, protocol = 's'):
'''Filters the hostmap for those implementing protocol.
The result is a list in serialized form.'''
@@ -574,7 +577,7 @@ class Network(util.DaemonThread):
self.on_notify_header(interface, result)
elif method == 'server.peers.subscribe':
if error is None:
self.irc_servers = parse_servers(result)
self.irc_servers = filter_version(parse_servers(result))
self.notify('servers')
elif method == 'server.banner':
if error is None: