feat(aurora): added timedelta_from_string() function
Some checks failed
Actions / Build Documentation (MkDocs) (pull_request) Successful in 31s
Actions / Lint Code (Ruff & Pylint) (pull_request) Failing after 50s

This commit is contained in:
Seaswimmer 2024-06-04 23:31:52 -04:00
parent 74d122a2e7
commit 78630dc317
Signed by: cswimr
GPG key ID: 5D671B5D03D65A7F
2 changed files with 9 additions and 3 deletions

View file

@ -1,6 +1,5 @@
# pylint: disable=duplicate-code
import json
from datetime import timedelta
from time import time
from typing import Dict
@ -10,6 +9,7 @@ from redbot.core.utils.chat_formatting import box, warning
from ..models.moderation import Moderation
from ..utilities.database import connect, create_guild_table
from ..utilities.utils import timedelta_from_string
class ImportAuroraView(ui.View):
@ -91,8 +91,7 @@ class ImportAuroraView(ui.View):
metadata.update({"imported_timestamp": int(time())})
if case["duration"] != "NULL" and case["duration"] is not None:
hours, minutes, seconds = map(int, case["duration"].split(":"))
duration = timedelta(hours=hours, minutes=minutes, seconds=seconds)
duration = timedelta_from_string(case["duration"])
else:
duration = None

View file

@ -194,6 +194,13 @@ def timedelta_from_relativedelta(relativedelta: rd) -> timedelta:
then = now - relativedelta
return now - then
def timedelta_from_string(string: str) -> timedelta:
"""Converts a string to a timedelta object."""
from .logger import logger
hours, minutes, seconds = map(int, string.split(":"))
logger.debug("%s | hours: %s, minutes: %s, seconds: %s", string, hours, minutes, seconds)
return timedelta(hours=hours, minutes=minutes, seconds=seconds)
def timedelta_to_string(timedelta: timedelta) -> str:
"""Converts a timedelta object to a string."""
hours, remainder = divmod(timedelta.seconds, 3600)