diff options
| author | Jack Jansen <jack.jansen@cwi.nl> | 1999-12-03 15:15:28 (GMT) |
|---|---|---|
| committer | Jack Jansen <jack.jansen@cwi.nl> | 1999-12-03 15:15:28 (GMT) |
| commit | 2450a25fcd146ddaaec6b0f1e962c482396f372d (patch) | |
| tree | 44b09855a410be89002b4be3735191cfd66941af /Mac/Demo/example1/dnslookup-1.py | |
| parent | 43fd1f75db89d38010dd118b98f0460e958b5b99 (diff) | |
| download | cpython-2450a25fcd146ddaaec6b0f1e962c482396f372d.zip cpython-2450a25fcd146ddaaec6b0f1e962c482396f372d.tar.gz cpython-2450a25fcd146ddaaec6b0f1e962c482396f372d.tar.bz2 | |
New examples by Tony Ingraldi, using dns-lookup in stead of the funny interslip
module.
Diffstat (limited to 'Mac/Demo/example1/dnslookup-1.py')
| -rw-r--r-- | Mac/Demo/example1/dnslookup-1.py | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Mac/Demo/example1/dnslookup-1.py b/Mac/Demo/example1/dnslookup-1.py new file mode 100644 index 0000000..a59fb8e --- /dev/null +++ b/Mac/Demo/example1/dnslookup-1.py @@ -0,0 +1,61 @@ +"""Sample program performing domain name lookups and showing off EasyDialogs, +Res and Dlg in the process""" + +import EasyDialogs +import Res +import Dlg +import sys +import socket +import string +# +# Definitions for our resources +ID_MAIN=512 + +ITEM_LOOKUP_ENTRY=1 +ITEM_RESULT=2 +ITEM_LOOKUP_BUTTON=3 +ITEM_QUIT_BUTTON=4 + + +def main(): + """Main routine: open resource file, call dialog handler""" + try: + Res.OpenResFile("dnslookup-1.rsrc") + except Res.Error: + EasyDialogs.Message("Cannot open dnslookup-1.rsrc") + sys.exit(1) + do_dialog() + +def do_dialog(): + """Post dialog and handle user interaction until quit""" + my_dlg = Dlg.GetNewDialog(ID_MAIN, -1) + while 1: + n = Dlg.ModalDialog(None) + if n == ITEM_LOOKUP_BUTTON: + tp, h, rect = my_dlg.GetDialogItem(ITEM_LOOKUP_ENTRY) + txt = Dlg.GetDialogItemText(h) + + tp, h, rect = my_dlg.GetDialogItem(ITEM_RESULT) + Dlg.SetDialogItemText(h, dnslookup(txt)) + elif n == ITEM_QUIT_BUTTON: + break + +def dnslookup(str): + """ Perform DNS lookup on str. If first character of digit is numeric, + assume that str contains an IP address. Otherwise, assume that str + contains a hostname.""" + if str == '': str = ' ' + if str[0] in string.digits: + try: + value = socket.gethostbyaddr(str)[0] + except: + value = 'Lookup failed' + else: + try: + value = socket.gethostbyname(str) + except: + value = 'Lookup failed' + return value + +main() + |
