def migrate_SRV(zone, root_domain, soa, views): for (name, ttl, rdata) in zone.iterate_rdatas('SRV'): target = rdata.target.to_text().strip('.') if target == "": target = "." port = rdata.port weight = rdata.weight prio = rdata.priority name = name.to_text().strip('.') print str(name) + " SRV " + str(rdata) exists_domain = Domain.objects.filter(name=name) if exists_domain: label = '' domain = exists_domain[0] else: label = name.split('.')[0] domain_name = name.split('.')[1:] domain = ensure_domain('.'.join(domain_name), force=True) if not SRV.objects.filter(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio).exists(): srv = SRV(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio) srv.full_clean() srv.save() for view in views: srv.views.add(view) srv.save()
exists_domain = Domain.objects.filter(name=name) if exists_domain: label = '' domain = exists_domain[0] else: label = name.split('.')[0] domain_name = name.split('.')[1:] domain = ensure_domain('.'.join(domain_name)) if not SRV.objects.filter(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio).exists(): srv = SRV(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio) srv.full_clean() srv.save() if views: for view in views: srv.views.add(view) srv.save() set_all_soas(base_domain, base_domain.soa) def ensure_domain(name): parts = list(reversed(name.split('.'))) domain_name = '' for i in range(len(parts)): domain_name = parts[i] + '.' + domain_name domain_name = domain_name.strip('.')
domain_name = name.split('.')[1:] domain = ensure_domain('.'.join(domain_name)) if not SRV.objects.filter(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio).exists(): srv = SRV(label=label, domain=domain, target=target, port=port, weight=weight, priority=prio) srv.full_clean() srv.save() if views: for view in views: srv.views.add(view) srv.save() set_all_soas(base_domain, base_domain.soa) def ensure_domain(name): parts = list(reversed(name.split('.'))) domain_name = '' for i in range(len(parts)): domain_name = parts[i] + '.' + domain_name domain_name = domain_name.strip('.')