diff --git a/roles/packager_alias/files/owner-email-from-pagure.py b/roles/packager_alias/files/owner-email-from-pagure.py index df64ffe908..43bce97037 100644 --- a/roles/packager_alias/files/owner-email-from-pagure.py +++ b/roles/packager_alias/files/owner-email-from-pagure.py @@ -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'])