for zone in parser.sections(): if zone[:5] == 'zone ': section = parser[zone]['section'] if section not in resources: resources[section] = [] zones[zone] = dict(parser[zone]) zones[zone]['ns'] = zones[zone]['ns'].split(' ') zones[zone]['prefix'] = Network(zones[zone]['prefix']) zones[zone]['admin_mail'] = zones[zone]['admin_mail'].replace('@', '.') for section_title in resources: subnets = {} hosts = {} resources[section_title] = [] for subnet_data in api.get_subnets(section_title): try: if subnet_data['isFull'] == '1': ip = subnet_data['subnet'] + '/' + subnet_data['mask'] domains = [] if subnet_data['Domain Names']: for domain in subnet_data['Domain Names'].strip().split('\n'): domains.append(domain) if len(domains) > 0: subnets[ip] = domains for host in api.get_addresses(subnet_data['id']): ip = host['ip'] if ip not in hosts: domains = [host['hostname'], ] if host['Domain Names']: for domain in host['Domain Names'].strip().split('\n'):