From 8ed588a91e8d1b8e52790e0ae00fb34d25bc60aa Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Thu, 6 Jun 2024 20:18:22 +0100 Subject: Rename utils to syncer_utils for clarity --- metricity/exts/event_listeners/_syncer_utils.py | 41 ++++++++++++++++++++++ metricity/exts/event_listeners/_utils.py | 38 -------------------- metricity/exts/event_listeners/guild_listeners.py | 16 ++++----- .../exts/event_listeners/message_listeners.py | 4 +-- 4 files changed, 51 insertions(+), 48 deletions(-) create mode 100644 metricity/exts/event_listeners/_syncer_utils.py delete mode 100644 metricity/exts/event_listeners/_utils.py diff --git a/metricity/exts/event_listeners/_syncer_utils.py b/metricity/exts/event_listeners/_syncer_utils.py new file mode 100644 index 0000000..8e8c54f --- /dev/null +++ b/metricity/exts/event_listeners/_syncer_utils.py @@ -0,0 +1,41 @@ +import discord +from pydis_core.utils import logging +from sqlalchemy.ext.asyncio import AsyncSession + +from metricity import models + +log = logging.get_logger(__name__) + + +def insert_thread(thread: discord.Thread, sess: AsyncSession) -> None: + """Insert the given thread to the database session.""" + sess.add(models.Thread( + id=str(thread.id), + parent_channel_id=str(thread.parent_id), + name=thread.name, + archived=thread.archived, + auto_archive_duration=thread.auto_archive_duration, + locked=thread.locked, + type=thread.type.name, + created_at=thread.created_at, + )) + + +async def sync_message(message: discord.Message, sess: AsyncSession, *, from_thread: bool) -> None: + """Sync the given message with the database.""" + if await sess.get(models.Message, str(message.id)): + return + + args = { + "id": str(message.id), + "channel_id": str(message.channel.id), + "author_id": str(message.author.id), + "created_at": message.created_at, + } + + if from_thread: + thread = message.channel + args["channel_id"] = str(thread.parent_id) + args["thread_id"] = str(thread.id) + + sess.add(models.Message(**args)) diff --git a/metricity/exts/event_listeners/_utils.py b/metricity/exts/event_listeners/_utils.py deleted file mode 100644 index 4006ea2..0000000 --- a/metricity/exts/event_listeners/_utils.py +++ /dev/null @@ -1,38 +0,0 @@ -import discord -from sqlalchemy.ext.asyncio import AsyncSession - -from metricity import models - - -def insert_thread(thread: discord.Thread, sess: AsyncSession) -> None: - """Insert the given thread to the database session.""" - sess.add(models.Thread( - id=str(thread.id), - parent_channel_id=str(thread.parent_id), - name=thread.name, - archived=thread.archived, - auto_archive_duration=thread.auto_archive_duration, - locked=thread.locked, - type=thread.type.name, - created_at=thread.created_at, - )) - - -async def sync_message(message: discord.Message, sess: AsyncSession, *, from_thread: bool) -> None: - """Sync the given message with the database.""" - if await sess.get(models.Message, str(message.id)): - return - - args = { - "id": str(message.id), - "channel_id": str(message.channel.id), - "author_id": str(message.author.id), - "created_at": message.created_at, - } - - if from_thread: - thread = message.channel - args["channel_id"] = str(thread.parent_id) - args["thread_id"] = str(thread.id) - - sess.add(models.Message(**args)) diff --git a/metricity/exts/event_listeners/guild_listeners.py b/metricity/exts/event_listeners/guild_listeners.py index 79cd8f4..3b1053b 100644 --- a/metricity/exts/event_listeners/guild_listeners.py +++ b/metricity/exts/event_listeners/guild_listeners.py @@ -12,7 +12,7 @@ from metricity import models from metricity.bot import Bot from metricity.config import BotConfig from metricity.database import async_session -from metricity.exts.event_listeners import _utils +from metricity.exts.event_listeners import _syncer_utils log = logging.get_logger(__name__) @@ -29,10 +29,10 @@ class GuildListeners(commands.Cog): await self.bot.wait_until_guild_available() guild = self.bot.get_guild(self.bot.guild_id) - await self.sync_channels(guild) + await _syncer_utils.sync_channels(self.bot, guild) log.info("Beginning thread archive state synchronisation process") - await self.sync_thread_archive_state(guild) + await _syncer_utils.sync_thread_archive_state(guild) log.info("Beginning user synchronisation process") async with async_session() as sess: @@ -210,7 +210,7 @@ class GuildListeners(commands.Cog): if channel.guild.id != BotConfig.guild_id: return - await self.sync_channels(channel.guild) + await _syncer_utils.sync_channels(self.bot, channel.guild) @commands.Cog.listener() async def on_guild_channel_delete(self, channel: discord.abc.GuildChannel) -> None: @@ -218,7 +218,7 @@ class GuildListeners(commands.Cog): if channel.guild.id != BotConfig.guild_id: return - await self.sync_channels(channel.guild) + await _syncer_utils.sync_channels(self.bot, channel.guild) @commands.Cog.listener() async def on_guild_channel_update( @@ -230,7 +230,7 @@ class GuildListeners(commands.Cog): if channel.guild.id != BotConfig.guild_id: return - await self.sync_channels(channel.guild) + await _syncer_utils.sync_channels(self.bot, channel.guild) @commands.Cog.listener() async def on_thread_create(self, thread: discord.Thread) -> None: @@ -238,7 +238,7 @@ class GuildListeners(commands.Cog): if thread.guild.id != BotConfig.guild_id: return - await self.sync_channels(thread.guild) + await _syncer_utils.sync_channels(self.bot, thread.guild) @commands.Cog.listener() async def on_thread_update(self, _before: discord.Thread, thread: discord.Thread) -> None: @@ -246,7 +246,7 @@ class GuildListeners(commands.Cog): if thread.guild.id != BotConfig.guild_id: return - await self.sync_channels(thread.guild) + await _syncer_utils.sync_channels(self.bot, thread.guild) @commands.Cog.listener() async def on_guild_available(self, guild: discord.Guild) -> None: diff --git a/metricity/exts/event_listeners/message_listeners.py b/metricity/exts/event_listeners/message_listeners.py index a71e53f..917b13c 100644 --- a/metricity/exts/event_listeners/message_listeners.py +++ b/metricity/exts/event_listeners/message_listeners.py @@ -7,7 +7,7 @@ from sqlalchemy import update from metricity.bot import Bot from metricity.config import BotConfig from metricity.database import async_session -from metricity.exts.event_listeners import _utils +from metricity.exts.event_listeners import _syncer_utils from metricity.models import Message, User @@ -44,7 +44,7 @@ class MessageListeners(commands.Cog): return from_thread = isinstance(message.channel, discord.Thread) - await _utils.sync_message(message, sess, from_thread=from_thread) + await _syncer_utils.sync_message(message, sess, from_thread=from_thread) await sess.commit() -- cgit v1.2.3