in gen.py [0:0]
def group_members(self, group):
"Given an authz @GROUP, return its members."
if group in self.explicit:
# This is an explicitly-defined authz group; not LDAP.
return self.explicit[group]
# Trim the authz group down to a {cn} value.
if group.endswith('-pmc'):
cn = group[:-4]
elif group.endswith('-ppmc'):
cn = group[:-5]
else:
cn = group
if group == 'committers':
# Special case this one. It uses a different attribute.
dn, attr = self.QUERY_COMMITTERS
elif group in self.special:
# These are defined in [special]
dn = self.special[group]
attr = None
elif group != cn:
# cn has had -(p)pmc sliced off. Look up the PMC.
dn, attr = self.QUERY_PMC
else:
# Not explicit, committers, special, or a PMC. Thus, it is
# a list of a project's committers.
dn, attr = self.QUERY_MAIN
# Find the group members within LDAP.
# Note: all member IDs are ascii, so convert to simple strings.
return [m.decode() for m in self.client.get_members(cn, dn, attr)]