| 298 | return f'* "PR #{pr}":{response["html_url"]} -- {response["title"].strip()}' |
| 299 | |
| 300 | def get(session, url, params=None, paging=True): |
| 301 | if params is None: |
| 302 | params = {} |
| 303 | params['per_page'] = 100 |
| 304 | |
| 305 | log.debug(f"Fetching {url}") |
| 306 | response = session.get(url, auth=GithubBearerAuth(), params=params) |
| 307 | log.debug(f"Response = {response}; links = {response.headers.get('link', '')}") |
| 308 | |
| 309 | if response.status_code != 200: |
| 310 | log.error(f"Failed to fetch {url}: {response}") |
| 311 | sys.exit(1) |
| 312 | j = response.json() |
| 313 | yield j |
| 314 | if paging: |
| 315 | link = response.headers.get('link', None) |
| 316 | page = 2 |
| 317 | while link is not None and 'next' in link: |
| 318 | log.debug(f"Fetching {url}") |
| 319 | new_params = dict(params) |
| 320 | new_params.update({'page': page}) |
| 321 | response = session.get(url, auth=GithubBearerAuth(), params=new_params) |
| 322 | log.debug(f"Response = {response}; links = {response.headers.get('link', '')}") |
| 323 | if response.status_code != 200: |
| 324 | log.error(f"Failed to fetch {url}: {response}") |
| 325 | sys.exit(1) |
| 326 | yield response.json() |
| 327 | link = response.headers.get('link', None) |
| 328 | page += 1 |
| 329 | |
| 330 | def resolve_ref(G, ref, remote_url, always_fetch=False): |
| 331 | """ |