This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

fix: Add paging to pull all repositories

Joseph Hale (Jul 9, 2025, 11:09 AM -0700) 6486edc0 6179995a

+23 -9
+23 -9
gource_org.py
··· 15 15 16 16 17 17 def list_repositories(organization_name: str) -> list: 18 - response = requests.get( 19 - f"https://api.github.com/orgs/{organization_name}/repos", 20 - headers={ 21 - "Accept": "application/vnd.github+json", 22 - "Authorization": f"Bearer {config['token']}", 23 - "X-GitHub-Api-Version": "2022-11-28", 24 - }, 25 - ) 26 - return json.loads(response.text) 18 + url = f"https://api.github.com/orgs/{organization_name}/repos" 19 + headers = {"Accept": "application/vnd.github+json"} 20 + headers["Authorization"] = f"Bearer {config['token']}" 21 + 22 + all_repos = [] 23 + page = 1 24 + 25 + while True: 26 + response = requests.get( 27 + url, headers=headers, params={"per_page": 100, "page": page} 28 + ) 29 + if response.status_code != 200: 30 + print(f"Error: {response.status_code}") 31 + break 32 + 33 + repos = response.json() 34 + if not repos: 35 + break 36 + 37 + all_repos.extend(repos) 38 + page += 1 39 + 40 + return all_repos 27 41 28 42 29 43 def clone_repos(repositories: list, dst: Path = Path("./")) -> None: