diff options
| author | James <[email protected]> | 2021-04-04 22:46:15 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-04-04 17:46:15 -0400 |
| commit | fe54b3cb922a8cf68f6b631f81d85bb37847be27 (patch) | |
| tree | a93845bab607f619a907c987a2385f962daf85ce /discord/iterators.py | |
| parent | Remove userbot functionality (diff) | |
| download | discord.py-fe54b3cb922a8cf68f6b631f81d85bb37847be27.tar.xz discord.py-fe54b3cb922a8cf68f6b631f81d85bb37847be27.zip | |
Flatten AsyncIterator.flatten
Diffstat (limited to 'discord/iterators.py')
| -rw-r--r-- | discord/iterators.py | 43 |
1 files changed, 1 insertions, 42 deletions
diff --git a/discord/iterators.py b/discord/iterators.py index 2b6fcb5a..d67f3006 100644 --- a/discord/iterators.py +++ b/discord/iterators.py @@ -72,14 +72,7 @@ class _AsyncIterator: return _FilteredAsyncIterator(self, predicate) async def flatten(self): - ret = [] - while True: - try: - item = await self.next() - except NoMoreItems: - return ret - else: - ret.append(item) + return [element async for element in self] def __aiter__(self): return self @@ -296,26 +289,6 @@ class HistoryIterator(_AsyncIterator): self.retrieve = r return r > 0 - async def flatten(self): - # this is similar to fill_messages except it uses a list instead - # of a queue to place the messages in. - result = [] - channel = await self.messageable._get_channel() - self.channel = channel - while self._get_retrieve(): - data = await self._retrieve_messages(self.retrieve) - if len(data) < 100: - self.limit = 0 # terminate the infinite loop - - if self.reverse: - data = reversed(data) - if self._filter: - data = filter(self._filter, data) - - for element in data: - result.append(self.state.create_message(channel=channel, data=element)) - return result - async def fill_messages(self): if not hasattr(self, 'channel'): # do the required set up @@ -550,20 +523,6 @@ class GuildIterator(_AsyncIterator): from .guild import Guild return Guild(state=self.state, data=data) - async def flatten(self): - result = [] - while self._get_retrieve(): - data = await self._retrieve_guilds(self.retrieve) - if len(data) < 100: - self.limit = 0 - - if self._filter: - data = filter(self._filter, data) - - for element in data: - result.append(self.create_guild(element)) - return result - async def fill_guilds(self): if self._get_retrieve(): data = await self._retrieve_guilds(self.retrieve) |