Import Upstream version 2.7.18
This commit is contained in:
BIN
Mac/Demo/example1/dnslookup-1.gif
Normal file
BIN
Mac/Demo/example1/dnslookup-1.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.5 KiB |
55
Mac/Demo/example1/dnslookup-1.py
Normal file
55
Mac/Demo/example1/dnslookup-1.py
Normal file
@@ -0,0 +1,55 @@
|
||||
"""Sample program performing domain name lookups and showing off EasyDialogs,
|
||||
Res and Dlg in the process"""
|
||||
|
||||
import EasyDialogs
|
||||
from Carbon import Res
|
||||
from Carbon import Dlg
|
||||
import socket
|
||||
import string
|
||||
import macresource
|
||||
#
|
||||
# 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"""
|
||||
macresource.need("DLOG", ID_MAIN, "dnslookup-1.rsrc")
|
||||
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()
|
||||
BIN
Mac/Demo/example1/dnslookup-1.rsrc
Normal file
BIN
Mac/Demo/example1/dnslookup-1.rsrc
Normal file
Binary file not shown.
Reference in New Issue
Block a user