#!/usr/bin/env python3
import socket, dns.resolver

def main():
    domain = socket.getfqdn()
    domain = domain.split('.')[1:]
    domain = '.'.join(domain)
    dc_target = []
    srv_records = dns.resolver.query(f'_ldap._tcp.{domain}', "SRV", raise_on_no_answer=True)
    for srv in srv_records:
        target = str(srv.target).rstrip('.')
        try:
            ip_addr = socket.gethostbyname(target)
            dc_target.append(ip_addr)
        except:
            pass

    host_addrs = []
    hostname=socket.gethostname()
    for rdata in dns.resolver.query(f"{hostname}", "A", raise_on_no_answer=True):
        ip_host=rdata.to_text()
        host_addrs.append(ip_host)

    res = [*dc_target, *host_addrs]
    with open('/etc/apache2/dcfile.txt', 'w') as f:
        for line in res:
            f.write(f"{line} 1\n")
    return {'aldpro_dc_list': res}

if __name__ == "__main__":
    print(main())
