44 lines
992 B
Python
Executable File
44 lines
992 B
Python
Executable File
#! /usr/bin/env python
|
|
|
|
# www8.py -- display the contents of a URL in a Text widget
|
|
# - set window title
|
|
# - make window resizable
|
|
# - update display while reading
|
|
# - vertical scroll bar
|
|
|
|
import sys
|
|
import urllib
|
|
from Tkinter import *
|
|
|
|
def main():
|
|
if len(sys.argv) != 2 or sys.argv[1][:1] == '-':
|
|
print "Usage:", sys.argv[0], "url"
|
|
sys.exit(2)
|
|
url = sys.argv[1]
|
|
fp = urllib.urlopen(url)
|
|
|
|
# Create root window
|
|
root = Tk()
|
|
root.title(url)
|
|
root.minsize(1, 1)
|
|
|
|
# The Scrollbar *must* be created first -- this is magic for me :-(
|
|
vbar = Scrollbar(root)
|
|
vbar.pack({'fill': 'y', 'side': 'right'})
|
|
text = Text(root, {'yscrollcommand': (vbar, 'set')})
|
|
text.pack({'expand': 1, 'fill': 'both', 'side': 'left'})
|
|
|
|
# Link Text widget and Scrollbar -- this is magic for you :-)
|
|
##text['yscrollcommand'] = (vbar, 'set')
|
|
vbar['command'] = (text, 'yview')
|
|
|
|
while 1:
|
|
line = fp.readline()
|
|
if not line: break
|
|
text.insert('end', line)
|
|
root.update_idletasks()
|
|
|
|
root.mainloop()
|
|
|
|
main()
|