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
|
|
|
|
"""
|
2022-08-11 19:26:19 +00:00
|
|
|
first_relay = get_first_relay(net)
|
|
|
|
if not first_relay:
|
|
|
|
return False
|
|
|
|
return first_relay.num == num
|