Moved files to subdirectory
This commit is contained in:
72
legacy/modules/helpers.py
Normal file
72
legacy/modules/helpers.py
Normal file
@@ -0,0 +1,72 @@
|
||||
import main
|
||||
from modules import chankeep
|
||||
from utils.logging.debug import debug
|
||||
|
||||
|
||||
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
|
||||
max_relay = max(main.network[net].relays.keys())
|
||||
debug(f"get_first_relay() {net}: max_relay:{max_relay}")
|
||||
activeRelays = chankeep.getActiveRelays(net)
|
||||
|
||||
debug(f"get_first_relay() {net}: activeRelays:{activeRelays}")
|
||||
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():
|
||||
# debug(f"get_first_relay() {net}: found relay {name}")
|
||||
return main.IRCPool[name]
|
||||
return None
|
||||
|
||||
|
||||
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
|
||||
"""
|
||||
first_relay = get_first_relay(net)
|
||||
if not first_relay:
|
||||
return False
|
||||
return first_relay.num == num
|
||||
|
||||
|
||||
def get_active_relays(net):
|
||||
"""
|
||||
Get all active instances for the network.
|
||||
:param net: the network
|
||||
:return: list of active instances
|
||||
:rtype: list of IRCPool instances
|
||||
"""
|
||||
active_nums = chankeep.getActiveRelays(net)
|
||||
active_insts = []
|
||||
for num in active_nums:
|
||||
name = net + str(num)
|
||||
if name in main.IRCPool.keys():
|
||||
active_insts.append(main.IRCPool[name])
|
||||
return active_insts
|
||||
|
||||
|
||||
def get_connected_relays(net):
|
||||
"""
|
||||
Get all connected instances for the network.
|
||||
:param net: the network
|
||||
:return: list of active instances
|
||||
:rtype: list of IRCPool instances
|
||||
"""
|
||||
active_nums = chankeep.getConnectedRelays(net)
|
||||
active_insts = []
|
||||
for num in active_nums:
|
||||
name = net + str(num)
|
||||
if name in main.IRCPool.keys():
|
||||
active_insts.append(main.IRCPool[name])
|
||||
return active_insts
|
||||
Reference in New Issue
Block a user