Email alias script - use pagination so as not to break pagure's golden heart.

This commit is contained in:
Ralph Bean 2017-08-04 20:37:26 +00:00
parent e544f90a6e
commit fbfb7c41f6

View file

@ -10,11 +10,21 @@ import requests
pagure_url = 'https://src.fedoraproject.org/'
pagure_group_url = pagure_url + '/api/0/group/{group}'
pagure_projects_url = pagure_url + '/api/0/projects'
pagure_projects = requests.get(pagure_projects_url).json()['projects']
project_to_email = {}
for project in pagure_projects:
def get_pagure_projects():
pagure_projects_url = pagure_url + '/api/0/projects?page=1&per_page=100'
while pagure_projects_url:
response = requests.get(pagure_projects_url)
data = response.json()
for project in data['projects']:
yield project
# This is set to None on the last page.
pagure_projects_url = data['pagination']['next']
for project in get_pagure_projects():
users = set(project['access_users']['owner']) | \
set(project['access_users']['admin']) | \
set(project['access_users']['commit'])