monolith/modules/helpers.py

38 lines
1.0 KiB
Python
Raw Normal View History

2022-08-11 18:22:09 +00:00
import main
from modules import chankeep
2022-08-11 19:09:14 +00:00
2022-08-11 18:22:09 +00:00
def get_first_relay(net):
"""
Get the first relay in the network.
:param net: the network
:param num: number or relay
:return: IRCPool instance for the IRC bot
"""
cur_relay = 0
2022-08-11 19:09:14 +00:00
max_relay = len(main.network[net].relays.keys()) + 1
2022-08-11 18:22:09 +00:00
activeRelays = chankeep.getActiveRelays(net)
while cur_relay != max_relay:
cur_relay += 1
if cur_relay not in activeRelays:
continue
name = net + str(cur_relay)
if name in main.IRCPool.keys():
return main.IRCPool[name]
return None
2022-08-11 19:09:14 +00:00
2022-08-11 18:22:09 +00:00
def is_first_relay(net, num):
"""
Determine if we are the first relay for the network.
:param net: the network
:param num: number or relay
:return: True if we are the first relay, False otherwise
"""
cur_relay = 0
max_relay = len(main.network[net].relays.keys())
while cur_relay > max_relay:
name = net + str(cur_relay)
if name in main.IRCPool.keys():
2022-08-11 19:09:14 +00:00
return cur_relay == num