Add allRelaysActive output to network info

This commit is contained in:
Mark Veidemanis 2022-08-14 10:58:28 +01:00
parent ed1f3cdca7
commit 6cc07c9171
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
3 changed files with 14 additions and 1 deletions

View File

@ -187,6 +187,7 @@ class API(object):
networks = {}
for net in main.network.keys():
networks[net] = {
"active": chankeep.allRelaysActive(net),
"relays": len(main.network[net].relays),
"channels": userinfo.getTotalChanNum(net),
"records": userinfo.getNumWhoEntries(net),

View File

@ -489,7 +489,7 @@ class IRCBot(IRCClient):
if first_relay:
if first_relay.wantList is True:
first_relay.list(nocheck=True)
debug("recheckList() asking for a list for {self.net} after final relay {self.num} connected")
debug(f"recheckList() asking for a list for {self.net} after final relay {self.num} connected")
else:
debug(f"recheckList() first relay wantList is False for {self.net} ({first_relay.num})")
# name = self.net + "1"

View File

@ -62,6 +62,18 @@ def getActiveRelays(net):
return activeRelays
def relayIsActive(net, num):
"""
Check if a relay is active.
:param net: network
:param num: relay number
:rtype: bool
:return: True if relay is active, False otherwise
"""
activeRelays = getActiveRelays(net)
return num in activeRelays
def allRelaysActive(net):
"""
Check if all enabled relays are active and authenticated.