def report_invalid_voip_addresses(logger, report): """Find voipAddress-objects owned by persons without primary account. @param logger @type list @param report is a list of dicts. """ logger.debug('-' * 8 + 'voipAddresses' + '-' * 8) db = Factory.get("Database")() va = VoipAddress(db) for entry in va.list_voip_attributes(): if entry['voipOwnerType'] != 'person': continue # skip objects owned by services if not entry.get("cn"): entry["cn"] = () # find addresses owner va.clear() va.find(entry['entity_id']) entry["voipOwnerId"] = va.owner_entity_id if entry["uid"] is None: logger.debug('uid is None') entry['reason'] = find_reason(db, entry) entr = {} for k, v in entry.iteritems(): if k in ('entity_id', 'voipOwnerId', 'cn', 'reason', 'voipExtensionUri', 'uid'): if k == 'voipExtensionUri': k = 'extension' if isinstance(v, basestring): v = v.strip('sip:@uio.no') entr[k] = v report.append(entr) logger.debug('-' * 8 + 'end voipAddresses' + '-' * 8)
def report_invalid_voip_addresses(logger, report): """Find voipAddress-objects owned by persons without primary account. @param logger @type list @param report is a list of dicts. """ logger.debug("-" * 8 + "voipAddresses" + "-" * 8) db = Factory.get("Database")() va = VoipAddress(db) for entry in va.list_voip_attributes(): if entry["voipOwnerType"] != "person": continue # skip objects owned by services if not entry.get("cn"): entry["cn"] = () # find addresses owner va.clear() va.find(entry["entity_id"]) entry["voipOwnerId"] = va.owner_entity_id if entry["uid"] is None: logger.debug("uid is None") entry["reason"] = find_reason(db, entry) entr = {} for k, v in entry.iteritems(): if k in ("entity_id", "voipOwnerId", "cn", "reason", "voipExtensionUri", "uid"): if k == "voipExtensionUri": k = "extension" if isinstance(v, basestring): v = v.strip("sip:@uio.no") entr[k] = v report.append(entr) logger.debug("-" * 8 + "end voipAddresses" + "-" * 8)
def generate_voip_addresses(sink, *args): va = VoipAddress(db) sink.write(container_entry_string('VOIP_ADDRESS')) addr_id2dn = dict() for entry in va.list_voip_attributes(*args): entry['objectClass'] = ['top', 'voipAddress'] dn = "voipOwnerId={},{}".format(entry['voipOwnerId'], ldapconf('VOIP_ADDRESS', 'dn', None)) entity_id = entry.pop("entity_id") addr_id2dn[entity_id] = dn if not entry.get("cn"): entry["cn"] = () sink.write(entry_string(dn, entry)) return addr_id2dn
def generate_voip_addresses(sink, encoding, *args): db = Factory.get("Database")() va = VoipAddress(db) sink.write(container_entry_string("VOIP_ADDRESS")) addr_id2dn = dict() for entry in va.list_voip_attributes(*args): entry["objectClass"] = ["top", "voipAddress"] dn = "voipOwnerId=%s,%s" % (entry["voipOwnerId"], ldapconf("VOIP_ADDRESS", "dn", None)) entity_id = entry.pop("entity_id") addr_id2dn[entity_id] = dn entry = object2encoding(entry, encoding) if not entry.get("cn"): entry["cn"] = () sink.write(entry_string(object2encoding(dn, encoding), entry)) return addr_id2dn
def generate_voip_addresses(sink, encoding, *args): db = Factory.get("Database")() va = VoipAddress(db) sink.write(container_entry_string('VOIP_ADDRESS')) addr_id2dn = dict() for entry in va.list_voip_attributes(*args): entry['objectClass'] = ['top', 'voipAddress'] dn = "voipOwnerId=%s,%s" % (entry['voipOwnerId'], ldapconf('VOIP_ADDRESS', 'dn', None)) entity_id = entry.pop("entity_id") addr_id2dn[entity_id] = dn entry = object2encoding(entry, encoding) if not entry.get("cn"): entry["cn"] = () sink.write(entry_string(object2encoding(dn, encoding), entry)) return addr_id2dn