get a full list, handling APIv3's paging
(url, headers=None, **params)
| 130 | rel_pat = re.compile(r'rel=[\'"](\w+)[\'"]') |
| 131 | |
| 132 | def get_paged_request(url, headers=None, **params): |
| 133 | """get a full list, handling APIv3's paging""" |
| 134 | results = [] |
| 135 | params.setdefault("per_page", 100) |
| 136 | while True: |
| 137 | if '?' in url: |
| 138 | params = None |
| 139 | print("fetching %s" % url, file=sys.stderr) |
| 140 | else: |
| 141 | print("fetching %s with %s" % (url, params), file=sys.stderr) |
| 142 | response = requests.get(url, headers=headers, params=params) |
| 143 | response.raise_for_status() |
| 144 | results.extend(response.json()) |
| 145 | if 'next' in response.links: |
| 146 | url = response.links['next']['url'] |
| 147 | else: |
| 148 | break |
| 149 | return results |
| 150 | |
| 151 | def get_pulls_list(project, auth=False, **params): |
| 152 | """get pull request list""" |
no outgoing calls
no test coverage detected