예제 #1
0
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'):