From 0ee408a716c3174d9b844167cb6d9adcfe6d90ac Mon Sep 17 00:00:00 2001 From: Jimmy Berry Date: Fri, 1 Nov 2019 14:01:39 -0500 Subject: [PATCH] osclib/core: provide meta_role_expand() to expand a role to users given meta. --- osclib/core.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/osclib/core.py b/osclib/core.py index 92c4a6c2..9ecabb82 100644 --- a/osclib/core.py +++ b/osclib/core.py @@ -83,6 +83,14 @@ def maintainers_get(apiurl, project, package=None): return maintainers +def meta_role_expand(apiurl, meta, role='maintainer'): + users = meta.xpath('//person[@role="{}"]/@userid'.format(role)) + + groups = meta.xpath('//group[@role="{}"]/@groupid'.format(role)) + users.extend(groups_members(apiurl, groups)) + + return users + def package_list(apiurl, project): url = makeurl(apiurl, ['source', project], { 'expand': 1 }) root = ET.parse(http_GET(url)).getroot()