fix(aurora): reverted previous change, instead using pydantic's ConfigDicts to resolve the error I was encountering previously

This commit is contained in:
Seaswimmer 2024-05-04 18:27:12 -04:00
parent a7d8f452d1
commit 6a7758e8f9
Signed by untrusted user: cswimr
GPG key ID: 5D671B5D03D65A7F
3 changed files with 14 additions and 12 deletions

View file

@ -1,8 +1,8 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import Any, ClassVar, Dict, List, Literal, Optional, Union from typing import Any, Dict, List, Literal, Optional, Union
from discord import Forbidden, HTTPException, InvalidData, NotFound from discord import Forbidden, HTTPException, InvalidData, NotFound
from pydantic import BaseModel from pydantic import BaseModel, ConfigDict
from redbot.core.bot import Red from redbot.core.bot import Red
from aurora.utilities.utils import generate_dict from aurora.utilities.utils import generate_dict
@ -10,15 +10,15 @@ from aurora.utilities.utils import generate_dict
class AuroraBaseModel(BaseModel): class AuroraBaseModel(BaseModel):
"""Base class for all models in Aurora.""" """Base class for all models in Aurora."""
bot: ClassVar[Red] model_config = ConfigDict(ignored_types=(Red,))
bot: Red
def to_json(self, indent: int = None, file: Any = None, **kwargs): def to_json(self, indent: int = None, file: Any = None, **kwargs):
from aurora.utilities.json import dump, dumps from aurora.utilities.json import dump, dumps
return dump(self.model_dump(exclude={"bot"}), file, indent=indent, **kwargs) if file else dumps(self.model_dump(exclude={"bot"}), indent=indent, **kwargs) return dump(self.model_dump(exclude={"bot"}), file, indent=indent, **kwargs) if file else dumps(self.model_dump(exclude={"bot"}), indent=indent, **kwargs)
class AuroraGuildModel(BaseModel): class AuroraGuildModel(AuroraBaseModel):
"""Base class that includes a guild_id attribute, and a modified to_json() method to match.""" """Subclass of AuroraBaseModel that includes a guild_id attribute, and a modified to_json() method to match."""
bot: ClassVar[Red]
guild_id: int guild_id: int
def to_json(self, indent: int = None, file: Any = None, **kwargs): def to_json(self, indent: int = None, file: Any = None, **kwargs):

View file

@ -2,13 +2,17 @@
from datetime import datetime, timedelta from datetime import datetime, timedelta
from typing import Union from typing import Union
from discord import Color, Embed, Guild, Interaction, InteractionMessage, Member, Role, User from discord import (Color, Embed, Guild, Interaction, InteractionMessage,
Member, Role, User)
from redbot.core import commands from redbot.core import commands
from redbot.core.utils.chat_formatting import bold, box, error, humanize_timedelta, warning from redbot.core.utils.chat_formatting import (bold, box, error,
humanize_timedelta, warning)
from aurora.models import Moderation from aurora.models import Moderation
from aurora.utilities.config import config from aurora.utilities.config import config
from aurora.utilities.utils import fetch_channel_dict, fetch_user_dict, get_bool_emoji, get_next_case_number, get_pagesize_str from aurora.utilities.utils import (fetch_channel_dict, fetch_user_dict,
get_bool_emoji, get_next_case_number,
get_pagesize_str)
async def message_factory( async def message_factory(

View file

@ -1,7 +1,7 @@
import json import json
from datetime import datetime, timedelta from datetime import datetime, timedelta
from aurora.models import AuroraBaseModel, AuroraGuildModel from aurora.models import AuroraBaseModel
class JSONEncoder(json.JSONEncoder): class JSONEncoder(json.JSONEncoder):
@ -12,8 +12,6 @@ class JSONEncoder(json.JSONEncoder):
return str(o) return str(o)
if isinstance(o, AuroraBaseModel): if isinstance(o, AuroraBaseModel):
return o.to_json() return o.to_json()
if isinstance(o, AuroraGuildModel):
return o.to_json()
return super().default(o) return super().default(o)