Package ldaptor :: Package protocols :: Package ldap :: Package autofill :: Module sambaAccount
[hide private]
[frames] | no frames]

Source Code for Module ldaptor.protocols.ldap.autofill.sambaAccount

 1  from ldaptor.protocols.ldap.autofill import ObjectMissingObjectClassException 
 2   
3 -class Autofill_samba: #TODO baseclass
4 - def start(self, ldapObject):
5 assert 'objectClass' in ldapObject 6 if 'sambaAccount' not in ldapObject['objectClass']: 7 raise ObjectMissingObjectClassException, ldapObject 8 9 assert 'acctFlags' not in ldapObject 10 ldapObject['acctFlags'] = ['[UX ]'] 11 assert 'pwdLastSet' not in ldapObject 12 ldapObject['pwdLastSet'] = ['0'] 13 assert 'logonTime' not in ldapObject 14 ldapObject['logonTime'] = ['0'] 15 assert 'logoffTime' not in ldapObject 16 ldapObject['logoffTime'] = ['0'] 17 assert 'pwdCanChange' not in ldapObject 18 ldapObject['pwdCanChange'] = ['0'] 19 assert 'pwdMustChange' not in ldapObject 20 ldapObject['pwdMustChange'] = ['0']
21
22 - def notify(self, ldapObject, attributeType):
23 24 # rid=2*uid+1000 25 if attributeType == 'uidNumber': 26 assert 'uidNumber' in ldapObject 27 assert len(ldapObject['uidNumber']) == 1 28 for uidNumber in ldapObject['uidNumber']: 29 uidNumber = int(uidNumber) 30 rid = uidNumber*2+1000 31 ldapObject['rid'] = [str(rid)] 32 return 33 34 # primaryGroupID=2*gid+1001 35 if attributeType == 'gidNumber': 36 assert 'gidNumber' in ldapObject 37 assert len(ldapObject['gidNumber']) == 1 38 for gidNumber in ldapObject['gidNumber']: 39 gidNumber = int(gidNumber) 40 primaryGroupID = gidNumber*2+1001 41 ldapObject['primaryGroupID'] = [str(primaryGroupID)] 42 return
43