From: Peter Palfrader Date: Mon, 2 Aug 2010 21:19:41 +0000 (+0000) Subject: GenGroup partially X-Git-Tag: userdir-ldap-0.3.78~6^2~9 X-Git-Url: https://git.adam-barratt.org.uk/?p=mirror%2Fuserdir-ldap.git;a=commitdiff_plain;h=9c3400fed701494b24575a602d25a83ae1815b72 GenGroup partially --- diff --git a/UDLdap.py b/UDLdap.py index 46bd7d0..4f83137 100644 --- a/UDLdap.py +++ b/UDLdap.py @@ -3,8 +3,8 @@ import time import userdir_ldap class Account: - array_values = ['keyFingerPrint', 'mailWhitelist', 'mailRBL', 'mailRHSBL'] - int_values = ['shadowExpire'] + array_values = ['keyFingerPrint', 'mailWhitelist', 'mailRBL', 'mailRHSBL', 'supplementaryGid'] + int_values = ['shadowExpire', 'gidNumber'] defaults = { 'accountStatus': 'active', 'keyFingerPrint': [] diff --git a/ud-generate b/ud-generate index 06f861f..490376a 100755 --- a/ud-generate +++ b/ud-generate @@ -459,19 +459,16 @@ def GenGroup(File): # Sort them into a list of groups having a set of users for x in PasswdAttrs: - uid = GetAttr(x, "uid") - if 'gidNumber' in x[1]: - GroupHasPrimaryMembers[ int(x[1]["gidNumber"][0]) ] = True - if x[1].has_key("uidNumber") == 0 or not IsInGroup(x): - continue - if x[1].has_key("supplementaryGid") == 0: - continue - + a = UDLdap.Account(x[0], x[1]) + GroupHasPrimaryMembers[ a['gidNumber'] ] = True + if not IsInGroup(x): continue + if not 'supplementaryGid' in a: continue + supgroups=[] - addGroups(supgroups, x[1]["supplementaryGid"], uid) + addGroups(supgroups, a['supplementaryGid'], a['uid']) for g in supgroups: - GroupMap[g].append(uid) - + GroupMap[g].append(a['uid']) + # Output the group file. J = 0 for x in GroupMap.keys():