Skip to content

Commit f052b44

Browse files
authored
feat: Implement own IntEnum & StrEnum (#1201)
* feat: Implement own `IntEnum` & `StrEnum` * feat: add logging * Update team.py
1 parent a6d93ec commit f052b44

File tree

15 files changed

+63
-27
lines changed

15 files changed

+63
-27
lines changed

interactions/api/gateway/client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
wait_for,
1818
)
1919
from contextlib import suppress
20-
from enum import IntEnum
2120
from sys import platform, version_info
2221
from time import perf_counter
2322
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Type, Union
@@ -26,7 +25,7 @@
2625
from aiohttp import ClientWebSocketResponse, WSMessage, WSMsgType
2726

2827
from ...base import __version__, get_logger
29-
from ...client.enums import ComponentType, InteractionType, OptionType
28+
from ...client.enums import ComponentType, IntEnum, InteractionType, OptionType
3029
from ...client.models import Option
3130
from ...utils.missing import MISSING
3231
from ..dispatch import Listener

interactions/api/models/audit_log.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# versionadded declared in docs gen file
22

3-
from enum import IntEnum
43
from typing import TYPE_CHECKING, List, Optional, TypeVar
54

5+
from ...client.enums import IntEnum
66
from ...utils.attrs_utils import DictSerializerMixin, convert_list, define, field
77
from .channel import Channel
88
from .misc import Snowflake

interactions/api/models/channel.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from asyncio import Task, create_task, get_running_loop, sleep
22
from datetime import datetime, timedelta, timezone
3-
from enum import IntEnum
43
from inspect import isawaitable
54
from math import inf
65
from typing import (
@@ -17,6 +16,7 @@
1716
)
1817
from warnings import warn
1918

19+
from ...client.enums import IntEnum
2020
from ...utils.abc.base_context_managers import BaseAsyncContextManager
2121
from ...utils.abc.base_iterators import DiscordPaginationIterator
2222
from ...utils.attrs_utils import (

interactions/api/models/flags.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
from enum import Enum, IntFlag
1+
from enum import IntFlag
2+
3+
from ...client.enums import StrEnum
24

35
__all__ = ("Intents", "AppFlags", "StatusType", "UserFlags", "Permissions", "MessageFlags")
46

@@ -176,7 +178,7 @@ class AppFlags(IntFlag):
176178
APPLICATION_COMMAND_BADGE = 1 << 23
177179

178180

179-
class StatusType(str, Enum):
181+
class StatusType(StrEnum):
180182
"""
181183
An enumerable object representing Discord status icons that a user may have.
182184
"""

interactions/api/models/guild.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from datetime import datetime
2-
from enum import Enum, IntEnum
32
from inspect import isawaitable
43
from math import inf
54
from typing import (
@@ -16,6 +15,7 @@
1615
)
1716
from warnings import warn
1817

18+
from ...client.enums import IntEnum, StrEnum
1919
from ...utils.abc.base_iterators import DiscordPaginationIterator
2020
from ...utils.attrs_utils import (
2121
ClientSerializerMixin,
@@ -125,7 +125,7 @@ class InviteTargetType(IntEnum):
125125
EMBEDDED_APPLICATION = 2
126126

127127

128-
class GuildFeatures(Enum):
128+
class GuildFeatures(StrEnum):
129129
ANIMATED_BANNER = "ANIMATED_BANNER"
130130
ANIMATED_ICON = "ANIMATED_ICON"
131131
BANNER = "BANNER"

interactions/api/models/message.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import contextlib
22
from datetime import datetime
3-
from enum import IntEnum
43
from io import BytesIO
54
from typing import TYPE_CHECKING, List, Optional, Union
65

6+
from ...client.enums import IntEnum
77
from ...client.models.component import ActionRow, Button, SelectMenu
88
from ...utils.attrs_utils import (
99
ClientSerializerMixin,

interactions/api/models/misc.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77

88
import datetime
99
from base64 import b64encode
10-
from enum import Enum, IntEnum
1110
from io import FileIO, IOBase
1211
from logging import Logger
1312
from math import floor
1413
from os.path import basename
1514
from typing import List, Optional, Union
1615

1716
from ...base import get_logger
17+
from ...client.enums import IntEnum, StrEnum
1818
from ...utils.attrs_utils import DictSerializerMixin, convert_int, convert_list, define, field
1919
from ...utils.missing import MISSING
2020
from ..error import LibraryException
@@ -413,7 +413,7 @@ def filename(self) -> str:
413413
return self._name.split("/")[-1].split(".")[0]
414414

415415

416-
class AllowedMentionType(str, Enum):
416+
class AllowedMentionType(StrEnum):
417417
"""
418418
.. versionadded:: 4.3.2
419419

interactions/api/models/presence.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import time
2-
from enum import IntEnum
32
from typing import Any, List, Optional
43

4+
from ...client.enums import IntEnum
55
from ...utils.attrs_utils import DictSerializerMixin, convert_list, define, field
66
from .emoji import Emoji
77
from .flags import StatusType

interactions/api/models/team.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from datetime import datetime
2-
from enum import IntEnum
32
from typing import Any, Dict, List, Optional, Union
43

5-
from ...client.enums import Locale
4+
from ...client.enums import IntEnum, Locale
65
from ...utils.attrs_utils import (
76
ClientSerializerMixin,
87
DictSerializerMixin,

interactions/api/models/webhook.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# versionadded is specified in docs gen file
22

33
from datetime import datetime
4-
from enum import IntEnum
54
from typing import TYPE_CHECKING, List, Optional, Union
65

6+
from ...client.enums import IntEnum
77
from ...utils.attrs_utils import ClientSerializerMixin, define, field
88
from ...utils.missing import MISSING
99
from ..error import LibraryException

0 commit comments

Comments
 (0)