update scripts/servers to display server version
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user