Initial import to Tizen
[profile/ivi/python-twisted.git] / doc / names / examples / testdns.py
1 #!/usr/bin/env python
2
3 # Copyright (c) Twisted Matrix Laboratories.
4 # See LICENSE for details.
5
6 """
7 Prints the results of an Address record lookup, Mail-Exchanger record lookup,
8 and Nameserver record lookup for the given hostname for a given hostname.
9
10 To run this script:
11 $ python testdns.py <hostname>
12 e.g.:
13 $ python testdns.py www.google.com
14 """
15
16 import sys
17 from twisted.names import client
18 from twisted.internet import reactor
19 from twisted.names import dns
20
21 r = client.Resolver('/etc/resolv.conf')
22
23 def gotAddress(a):
24     print 'Addresses: ', ', '.join(map(str, a))
25
26 def gotMails(a):
27     print 'Mail Exchangers: ', ', '.join(map(str, a))
28
29 def gotNameservers(a):
30     print 'Nameservers: ', ', '.join(map(str, a))
31
32 def gotError(f):
33     print 'gotError'
34     f.printTraceback()
35
36     from twisted.internet import reactor
37     reactor.stop()
38
39
40 if __name__ == '__main__':
41     import sys
42
43     r.lookupAddress(sys.argv[1]).addCallback(gotAddress).addErrback(gotError)
44     r.lookupMailExchange(sys.argv[1]).addCallback(gotMails).addErrback(gotError)
45     r.lookupNameservers(sys.argv[1]).addCallback(gotNameservers).addErrback(gotError)
46
47     reactor.callLater(4, reactor.stop)
48     reactor.run()