fix(aurora): fixed JSON serializing error in /edit command

This commit is contained in:
Seaswimmer 2023-12-30 04:10:25 -05:00
parent 566608de24
commit e1cc6ca1a8
Signed by untrusted user: cswimr
GPG key ID: 1EBC234EEDA901AE
3 changed files with 13 additions and 8 deletions

View file

@ -25,7 +25,7 @@ from .utilities.config import config, register_config
from .utilities.database import connect, create_guild_table, fetch_case, mysql_log from .utilities.database import connect, create_guild_table, fetch_case, mysql_log
from .utilities.embed_factory import embed_factory from .utilities.embed_factory import embed_factory
from .utilities.logger import logger from .utilities.logger import logger
from .utilities.utils import check_moddable, check_permissions, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat from .utilities.utils import convert_timedelta_to_str, check_moddable, check_permissions, fetch_channel_dict, fetch_user_dict, generate_dict, log, send_evidenceformat
class Aurora(commands.Cog): class Aurora(commands.Cog):
@ -898,7 +898,7 @@ class Aurora(commands.Cog):
'timestamp': int(time.time()), 'timestamp': int(time.time()),
'reason': reason, 'reason': reason,
'user_id': interaction.user.id, 'user_id': interaction.user.id,
'duration': parsed_time, 'duration': convert_timedelta_to_str(parsed_time),
'end_timestamp': end_timestamp 'end_timestamp': end_timestamp
} }
) )

View file

@ -9,7 +9,7 @@ from discord import Guild
from redbot.core import data_manager from redbot.core import data_manager
from .logger import logger from .logger import logger
from .utils import generate_dict, get_next_case_number from .utils import generate_dict, get_next_case_number, convert_timedelta_to_str
def connect() -> sqlite3.Connection: def connect() -> sqlite3.Connection:
@ -128,11 +128,7 @@ async def mysql_log(
end_timedelta = datetime.fromtimestamp(timestamp) + duration end_timedelta = datetime.fromtimestamp(timestamp) + duration
end_timestamp = int(end_timedelta.timestamp()) end_timestamp = int(end_timedelta.timestamp())
total_seconds = int(duration.total_seconds()) duration = convert_timedelta_to_str(duration)
hours = total_seconds // 3600
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60
duration = f"{hours}:{minutes}:{seconds}"
else: else:
end_timestamp = 0 end_timestamp = 0

View file

@ -1,6 +1,7 @@
# pylint: disable=cyclic-import # pylint: disable=cyclic-import
import json import json
from datetime import timedelta as td
from typing import Union from typing import Union
from discord import Guild, Interaction, Member, User from discord import Guild, Interaction, Member, User
@ -221,3 +222,11 @@ async def send_evidenceformat(interaction: Interaction, case_dict: dict):
"evidenceformat", await interaction.client.get_embed_color(None), interaction=interaction, case_dict=case_dict "evidenceformat", await interaction.client.get_embed_color(None), interaction=interaction, case_dict=case_dict
) )
await interaction.followup.send(content=content, ephemeral=True) await interaction.followup.send(content=content, ephemeral=True)
def convert_timedelta_to_str(timedelta: td):
"""This function converts a timedelta object to a string."""
total_seconds = int(timedelta.total_seconds())
hours = total_seconds // 3600
minutes = (total_seconds % 3600) // 60
seconds = total_seconds % 60
return f"{hours}:{minutes}:{seconds}"