Skip to content

Commit f8e990a

Browse files
committed
circular imports
1 parent 49e537f commit f8e990a

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

discord/ui/select.py

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
import os
3131
from typing import TYPE_CHECKING, Callable, TypeVar
3232

33-
from .. import abc
3433
from ..channel import _threaded_guild_channel_factory
3534
from ..components import SelectMenu, SelectOption, SelectDefaultValue
3635
from ..emoji import AppEmoji, GuildEmoji
@@ -59,7 +58,7 @@
5958
if TYPE_CHECKING:
6059
from typing_extensions import Self
6160

62-
from ..abc import GuildChannel
61+
from ..abc import GuildChannel, Snowflake
6362
from ..types.components import SelectMenu as SelectMenuPayload
6463
from ..types.interactions import ComponentInteractionData
6564
from .view import View
@@ -200,7 +199,7 @@ def __init__(
200199
label: str | None = None,
201200
description: str | None = None,
202201
required: bool | None = None,
203-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
202+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
204203
) -> None:
205204
if options and select_type is not ComponentType.string_select:
206205
raise InvalidArgument("options parameter is only valid for string selects")
@@ -248,12 +247,14 @@ def __init__(
248247
)
249248
self.row = row
250249

251-
def _handle_default_values(self, default_values: Sequence[abc.Snowflake] | None, select_type: ComponentType) -> list[SelectDefaultValue]:
250+
def _handle_default_values(self, default_values: Sequence[Snowflake] | None, select_type: ComponentType) -> list[SelectDefaultValue]:
252251
if not default_values:
253252
return []
254253

255254
ret = []
256255

256+
from discord import abc # > circular import <
257+
257258
instances_mapping: dict[type, tuple[tuple[ComponentType, ...], SelectDefaultValueType]] = {
258259
Role: ((ComponentType.role_select, ComponentType.mentionable_select), SelectDefaultValueType.role),
259260
User: ((ComponentType.user_select, ComponentType.mentionable_select), SelectDefaultValueType.user),
@@ -390,7 +391,7 @@ def default_values(self) -> list[SelectDefaultValue]:
390391
return self._underlying.default_values
391392

392393
@default_values.setter
393-
def default_values(self, values: list[SelectDefaultValue | abc.Snowflake] | None) -> None:
394+
def default_values(self, values: list[SelectDefaultValue | Snowflake] | None) -> None:
394395
default_values = self._handle_default_values(values, self.type)
395396
self._underlying.default_values = default_values
396397

@@ -687,7 +688,7 @@ def select(
687688
disabled: bool = False,
688689
row: int | None = None,
689690
id: int | None = None,
690-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
691+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
691692
) -> Callable[[ItemCallbackType[Select[V]]], Select[V]]:
692693
"""A decorator that attaches a select menu to a component.
693694
@@ -851,7 +852,7 @@ def user_select(
851852
disabled: bool = False,
852853
row: int | None = None,
853854
id: int | None = None,
854-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
855+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
855856
) -> Callable[[ItemCallbackType[Select[V]]], Select[V]]:
856857
"""A shortcut for :meth:`discord.ui.select` with select type :attr:`discord.ComponentType.user_select`.
857858
@@ -879,7 +880,7 @@ def role_select(
879880
disabled: bool = False,
880881
row: int | None = None,
881882
id: int | None = None,
882-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
883+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
883884
) -> Callable[[ItemCallbackType[Select[V]]], Select[V]]:
884885
"""A shortcut for :meth:`discord.ui.select` with select type :attr:`discord.ComponentType.role_select`.
885886
@@ -907,7 +908,7 @@ def mentionable_select(
907908
disabled: bool = False,
908909
row: int | None = None,
909910
id: int | None = None,
910-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
911+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
911912
) -> Callable[[ItemCallbackType[Select[V]]], Select[V]]:
912913
"""A shortcut for :meth:`discord.ui.select` with select type :attr:`discord.ComponentType.mentionable_select`.
913914
@@ -936,7 +937,7 @@ def channel_select(
936937
channel_types: list[ChannelType] = MISSING,
937938
row: int | None = None,
938939
id: int | None = None,
939-
default_values: Sequence[SelectDefaultValue | abc.Snowflake] | None = None,
940+
default_values: Sequence[SelectDefaultValue | Snowflake] | None = None,
940941
) -> Callable[[ItemCallbackType[Select[V]]], Select[V]]:
941942
"""A shortcut for :meth:`discord.ui.select` with select type :attr:`discord.ComponentType.channel_select`.
942943

0 commit comments

Comments
 (0)