INNER CODE UNIT · Python
paginate_repo_releases
simonw/simonw · build_readme.py:190
def paginate_repo_releases(oauth_token, owner, name, after_cursor):
"""Return all remaining raw release nodes for a single repo."""
nodes = []
has_next_page = True
while has_next_page:
query = (
GRAPHQL_REPO_RELEASES_QUERY.replace("OWNER", owner)
.replace("NAME", name)
.replace("AFTER", '"{}"'.format(after_cursor) if after_cursor else "null")
)
data = execute_query(query)
releases_data = data["data"]["repository"]["releases"]
nodes.extend(releases_data["nodes"])
page_info = releases_data["pageInfo"]
has_next_page = page_info["hasNextPage"]
after_cursor = page_info["endCursor"]