source: trunk/essentials/dev-lang/python/Mac/Demo/example1/dnslookup-1.py@ 3506

Last change on this file since 3506 was 3225, checked in by bird, 19 years ago

Python 2.5

File size: 1.5 KB
Line 
1"""Sample program performing domain name lookups and showing off EasyDialogs,
2Res and Dlg in the process"""
3
4import EasyDialogs
5from Carbon import Res
6from Carbon import Dlg
7import sys
8import socket
9import string
10import macresource
11#
12# Definitions for our resources
13ID_MAIN=512
14
15ITEM_LOOKUP_ENTRY=1
16ITEM_RESULT=2
17ITEM_LOOKUP_BUTTON=3
18ITEM_QUIT_BUTTON=4
19
20def main():
21 """Main routine: open resource file, call dialog handler"""
22 macresource.need("DLOG", ID_MAIN, "dnslookup-1.rsrc")
23 do_dialog()
24
25def do_dialog():
26 """Post dialog and handle user interaction until quit"""
27 my_dlg = Dlg.GetNewDialog(ID_MAIN, -1)
28 while 1:
29 n = Dlg.ModalDialog(None)
30 if n == ITEM_LOOKUP_BUTTON:
31 tp, h, rect = my_dlg.GetDialogItem(ITEM_LOOKUP_ENTRY)
32 txt = Dlg.GetDialogItemText(h)
33
34 tp, h, rect = my_dlg.GetDialogItem(ITEM_RESULT)
35 Dlg.SetDialogItemText(h, dnslookup(txt))
36 elif n == ITEM_QUIT_BUTTON:
37 break
38
39def dnslookup(str):
40 """ Perform DNS lookup on str. If first character of digit is numeric,
41 assume that str contains an IP address. Otherwise, assume that str
42 contains a hostname."""
43 if str == '': str = ' '
44 if str[0] in string.digits:
45 try:
46 value = socket.gethostbyaddr(str)[0]
47 except:
48 value = 'Lookup failed'
49 else:
50 try:
51 value = socket.gethostbyname(str)
52 except:
53 value = 'Lookup failed'
54 return value
55
56main()
Note: See TracBrowser for help on using the repository browser.