mirror of
https://gitlab.com/chicken-riders/RcGcDb.git
synced 2025-02-23 00:54:09 +00:00
Added some comments and help
This commit is contained in:
parent
4025f15e1a
commit
4e1aad4025
13
src/bot.py
13
src/bot.py
|
@ -112,7 +112,7 @@ class RcQueue:
|
|||
shutdown(asyncio.get_event_loop())
|
||||
else:
|
||||
logger.exception("Group task returned error")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Group task error logger", Group=group)
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Group task error logger (really bad)", Group=group)
|
||||
else:
|
||||
self.domain_list[group]["query"].pop(0)
|
||||
|
||||
|
@ -164,7 +164,7 @@ class RcQueue:
|
|||
shutdown(asyncio.get_event_loop())
|
||||
else:
|
||||
logger.exception("Exception on queue updater")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Queue updator")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Queue updator (ok)")
|
||||
|
||||
|
||||
def __getitem__(self, item):
|
||||
|
@ -301,7 +301,7 @@ async def scan_group(group: str):
|
|||
raise
|
||||
else:
|
||||
logger.exception("Exception on RC formatter")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Exception in RC formatter", Wiki=queued_wiki.url, Change=str(change)[0:1000])
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Exception in RC formatter (ok)", Wiki=queued_wiki.url, Change=str(change)[0:1000])
|
||||
# Lets stack the messages
|
||||
for messages in message_list.values():
|
||||
messages = stack_message_list(messages)
|
||||
|
@ -354,6 +354,7 @@ async def message_sender():
|
|||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Message sender exception")
|
||||
|
||||
async def discussion_handler():
|
||||
# Handler for Fandom Discussions, it has the entire look of things from queuing to sending
|
||||
try:
|
||||
while True:
|
||||
fetch_all = db_cursor.execute(
|
||||
|
@ -442,7 +443,7 @@ async def discussion_handler():
|
|||
shutdown(loop=asyncio.get_event_loop())
|
||||
else:
|
||||
logger.exception("Exception on Feeds formatter")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Exception in feed formatter", Post=str(post)[0:1000], Wiki=db_wiki["wiki"])
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Exception in feed formatter (ok)", Post=str(post)[0:1000], Wiki=db_wiki["wiki"])
|
||||
# Lets stack the messages
|
||||
for messages in message_list.values():
|
||||
messages = stack_message_list(messages)
|
||||
|
@ -460,11 +461,13 @@ async def discussion_handler():
|
|||
raise # reraise the issue
|
||||
else:
|
||||
logger.exception("Exception on Feeds formatter")
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Discussion handler task exception", Wiki=db_wiki["wiki"])
|
||||
await generic_msg_sender_exception_logger(traceback.format_exc(), "Discussion handler task exception (bad)", Wiki=db_wiki["wiki"])
|
||||
|
||||
|
||||
|
||||
def shutdown(loop, signal=None):
|
||||
# This is our best attempt at shutting down gently - we save and close the database, wait for messages to be sent,
|
||||
# stop all of the tasks and stop the look effectively shutting down all asyncio operations
|
||||
global main_tasks
|
||||
DBHandler.update_db()
|
||||
db_connection.close()
|
||||
|
|
|
@ -138,21 +138,22 @@ def stack_message_list(messages: list) -> list:
|
|||
# else: # all messages in messages are stacked, exit this if
|
||||
# i += 1
|
||||
removed_msgs = 0
|
||||
# We split messages into groups of 10
|
||||
for group_index in range(ceil((len(messages)) / 10)):
|
||||
message_group_index = group_index * 10 - removed_msgs
|
||||
stackable = StackedDiscordMessage(messages[message_group_index])
|
||||
for message in messages[message_group_index + 1:message_group_index + 10]:
|
||||
message_group_index = group_index * 10 - removed_msgs # this helps us with calculations which messages we need
|
||||
stackable = StackedDiscordMessage(messages[message_group_index]) # treat the first message from the group as main
|
||||
for message in messages[message_group_index + 1:message_group_index + 10]: # we grab messages from messages list
|
||||
try:
|
||||
stackable.add_embed(message)
|
||||
except EmbedListFull:
|
||||
stackable.add_embed(message) # and to our main message we add ones after it that are from same group
|
||||
except EmbedListFull: # if there are too many messages in our group we simply break so another group can be made
|
||||
break
|
||||
messages.remove(message)
|
||||
removed_msgs += 1
|
||||
removed_msgs += 1 # helps with calculating message_group_index
|
||||
messages[message_group_index] = stackable
|
||||
elif messages[0].message_type() == "compact":
|
||||
message_index = 0
|
||||
while len(messages) > message_index+1:
|
||||
if (len(messages[message_index]) + len(messages[message_index+1])) < 2000:
|
||||
while len(messages) > message_index+1: # as long as we have messages to stack
|
||||
if (len(messages[message_index]) + len(messages[message_index+1])) < 2000: # if overall length is lower than 2000
|
||||
messages[message_index].webhook_object["content"] = messages[message_index].webhook_object["content"] + "\n" + messages[message_index + 1].webhook_object["content"]
|
||||
messages[message_index].length += (len(messages[message_index + 1]) + 1)
|
||||
messages.remove(messages[message_index + 1])
|
||||
|
|
Loading…
Reference in a new issue