()
| 1419 | if owner and repository: |
| 1420 | wanted_by_owner.setdefault(owner, set()).add(repository.casefold()) |
| 1421 | |
| 1422 | size_map = {} |
| 1423 | headers = { |
| 1424 | "Accept": "application/vnd.github+json", |
| 1425 | "User-Agent": "DedSecProjectLegacySave/1.0 (Termux; Android)", |
| 1426 | "X-GitHub-Api-Version": "2022-11-28", |
| 1427 | } |
| 1428 | |
| 1429 | for owner, wanted_names in wanted_by_owner.items(): |
| 1430 | remaining = set(wanted_names) |
| 1431 | # Usually one request per owner is enough. Additional pages are fetched |
| 1432 | # only when one of the required repositories was not on the first page. |
| 1433 | for page in range(1, 6): |
| 1434 | try: |
| 1435 | response = requests.get( |
| 1436 | f"https://api.github.com/users/{quote(owner, safe='')}/repos", |
no test coverage detected