Skip to content

Commit

Permalink
Flatten AsyncIterator.flatten
Browse files Browse the repository at this point in the history
  • Loading branch information
Gobot1234 authored Apr 4, 2021
1 parent 5428887 commit fe54b3c
Showing 1 changed file with 1 addition and 42 deletions.
43 changes: 1 addition & 42 deletions discord/iterators.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,7 @@ def filter(self, predicate):
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
Expand Down Expand Up @@ -296,26 +289,6 @@ def _get_retrieve(self):
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
Expand Down Expand Up @@ -550,20 +523,6 @@ def create_guild(self, data):
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)
Expand Down

0 comments on commit fe54b3c

Please sign in to comment.