From 364cdcc60eb5f2f81de8386e0e7e6fcd6d5b5a55 Mon Sep 17 00:00:00 2001 From: Patrick Uiterwijk Date: Sat, 2 Dec 2017 22:13:13 +0000 Subject: [PATCH] The list of members doesn't change significantly over the runtime of this script Signed-off-by: Patrick Uiterwijk --- roles/packager_alias/files/owner-email-from-pagure.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/roles/packager_alias/files/owner-email-from-pagure.py b/roles/packager_alias/files/owner-email-from-pagure.py index 869316531b..ae0b84c601 100644 --- a/roles/packager_alias/files/owner-email-from-pagure.py +++ b/roles/packager_alias/files/owner-email-from-pagure.py @@ -45,6 +45,7 @@ def get_pagure_projects(): session = retry_session() +group_data = {} for project in get_pagure_projects(): users = set(project['access_users']['owner']) | \ set(project['access_users']['admin']) | \ @@ -55,9 +56,13 @@ for project in get_pagure_projects(): groups.add(group) for group in groups: + if group in group_data: + users = users | group_data[group] + continue group_members = session.get( pagure_group_url.format(group=group)).json()['members'] users = users | set(group_members) + group_data[group] = set(group_members) project_alias = '{0}-owner'.format(project['name']) # If there is a namespace, prefix the email with it plus a dash