Improve paging

This commit is contained in:
Ivan Habunek 2020-05-17 14:41:11 +02:00
parent d22fd74357
commit cabc8ff327
No known key found for this signature in database
GPG Key ID: CDBD63C43A30BB95

View File

@ -102,31 +102,40 @@ def get_channel_videos(channel_id, limit, sort, type="archive", game_ids=[], aft
query = """
{{
user(login: "{channel_id}") {{
videos(options: {{
gameIDs: {game_ids}
}}, first: {limit}, type: {type}, sort: {sort}, after: "{after}") {{
totalCount
edges {{
cursor
node {{
id
title
publishedAt
broadcastType
lengthSeconds
game {{
name
}}
creator {{
channel {{
displayName
user(login: "{channel_id}") {{
videos(
first: {limit},
type: {type},
sort: {sort},
after: "{after}",
options: {{
gameIDs: {game_ids}
}}
) {{
totalCount
pageInfo {{
hasNextPage
}}
edges {{
cursor
node {{
id
title
publishedAt
broadcastType
lengthSeconds
game {{
name
}}
creator {{
channel {{
displayName
}}
}}
}}
}}
}}
}}
}}
}}
}}
}}
"""
@ -152,9 +161,10 @@ def channel_videos_generator(channel_id, limit, sort, type, game_ids=None):
if not videos["edges"]:
break
cursor = videos["edges"][-1]["cursor"]
has_next = videos["pageInfo"]["hasNextPage"]
cursor = videos["edges"][-1]["cursor"] if has_next else None
yield videos, cursor is not None
yield videos, has_next
if not cursor:
break