Add os-compute1
[public/hosts.git] / generate-hosts.py
1 #!/usr/bin/env python
2
3 import sys
4 import socket
5 import re
6 import dns.resolver
7
8 exp = re.compile('([^\.]+)')
9
10 hosts = []
11
12 if __name__ == '__main__':
13
14
15    for host in sys.stdin:
16       host = host.replace('\n', '')
17       if host == "" or host[0] == "#":
18           print(host)
19           continue
20
21       if host[0] == '!':
22          print(host[1:])
23          continue
24
25       try:
26          if True:
27             res = dns.resolver.query(host)
28             ips = socket.getaddrinfo(str(res.qname), None)
29
30             for ip in ips:
31                entry = (ip[4][0], str(res.qname)[:-1], exp.match(host).group(0))
32                if not entry in hosts:
33                   print("{0:45} {1} {2}".format(ip[4][0], str(res.qname)[:-1], exp.match(host).group(0)))
34                   hosts.append(entry)
35       except:
36          sys.stderr.write('Failed to get IP for: {0}\n'.format(host))