mirror of
https://github.com/LonamiWebs/Telethon.git
synced 2024-11-29 12:53:44 +03:00
Clean up iter_messages with reverse=True
This commit is contained in:
parent
5b098a909a
commit
1e4a12d2f7
|
@ -254,7 +254,8 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
# We don't need to fetch 100 if the limit is less.
|
# We don't need to fetch 100 if the limit is less.
|
||||||
batch_size = min(max(batch_size, 1), min(100, limit))
|
batch_size = min(max(batch_size, 1), min(100, limit))
|
||||||
|
|
||||||
# Use a negative offset to work around reversing the results
|
# When going in reverse we need an offset of `-limit`, but we
|
||||||
|
# also want to respect what the user passed, so add them together.
|
||||||
if reverse:
|
if reverse:
|
||||||
request.add_offset -= batch_size
|
request.add_offset -= batch_size
|
||||||
|
|
||||||
|
@ -263,8 +264,8 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
|
|
||||||
request.limit = min(limit - have, batch_size)
|
request.limit = min(limit - have, batch_size)
|
||||||
if reverse and request.limit != batch_size:
|
if reverse and request.limit != batch_size:
|
||||||
# Last batch needs special care if we're on reverse
|
# Remember that we need -limit when going in reverse
|
||||||
request.add_offset += batch_size - request.limit + 1
|
request.add_offset = add_offset - request.limit
|
||||||
|
|
||||||
r = await self(request)
|
r = await self(request)
|
||||||
if _total:
|
if _total:
|
||||||
|
@ -330,7 +331,7 @@ class MessageMethods(UploadMethods, ButtonMethods, MessageParseMethods):
|
||||||
request.offset_peer = last_message.input_chat
|
request.offset_peer = last_message.input_chat
|
||||||
elif reverse:
|
elif reverse:
|
||||||
# We want to skip the one we already have
|
# We want to skip the one we already have
|
||||||
request.add_offset -= 1
|
request.offset_id += 1
|
||||||
|
|
||||||
await asyncio.sleep(
|
await asyncio.sleep(
|
||||||
max(wait_time - (time.time() - start), 0), loop=self._loop)
|
max(wait_time - (time.time() - start), 0), loop=self._loop)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user