def process(self, obj, key, valDict): if len(valDict[key]['value']) and type(valDict[key]['value'][0]) in [str, unicode]: lm, nt = smbpasswd.hash(valDict[key]['value'][0]) valDict['sambaNTPassword'] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'String', value=[nt]) valDict['sambaLMPassword'] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'String', value=[lm]) else: raise ValueError("Unknown input type for filter %s. Type is '%s'!" % ( self.__class__.__name__, type(valDict[key]['value']))) return key, valDict
def process(self, obj, key, valDict): mapping = { 'D': 'accountDisabled', 'H': 'homeDirectoryRequired', 'I': 'interDomainTrust', 'L': 'isAutoLocked', 'M': 'anMNSLogonAccount', 'N': 'passwordNotRequired', 'S': 'serverTrustAccount', 'T': 'temporaryDuplicateAccount', 'U': 'normalUserAccount', 'W': 'worktstationTrustAccount', 'X': 'passwordDoesNotExpire'} # Add newly introduced properties. for src in mapping: valDict[mapping[src]] = GOsaObjectFactory.createNewProperty(valDict[key]['backend'], 'Boolean', value=[False], skip_save=True) valDict[key]['dependsOn'].append(mapping[src]) # Now parse the existing acctFlags if len(valDict[key]['value']) >= 1: smbAcct = valDict[key]['value'][0] for src in mapping: if src in set(smbAcct): valDict[mapping[src]]['value'] = [True] return key, valDict