[Tutor] twill module
heinrich.massmann at ukonline.co.uk
heinrich.massmann at ukonline.co.uk
Tue Oct 14 17:43:51 CEST 2008
Hi all,
I'm new to this list (and python ;-)) and working on a small personal project.
I'm basically using the twill to browse a website (weather reports) and do a re
search for a specific string that once found, needs to be printed in a web page
on it's own. The problem I found with twill is that it also prints the html that
comes along with it. (Apparently it's a known "functionality")
The way around this was for me to write my regexp find to another file and then
display that in another cgi script, surely there must be a cleaner way of doing
it? Also, any idea how I can call the second script from the first after the
first one is finished?
Any ideas appreciated. Code below.( No laughing please!)
Cheers
Heinrich
import cgitb; cgitb.enable() # only for temp debugging
import re
import cgi
from twill.commands import *
url = "http://secure.metoffice.com/logon.jsp"
go(url)
fv(1, 'username', 'xxxxxxxx')
fv(1, 'password', 'xxxxxxxx')
submit()
go('/aviation/index.jsp')
go('report.jsp')
go('reports.do?type=METAR&list=02')
report = show()
result = re.search("EGKB.*</td>",report)
result = re.sub("</td>", "", result.group())
file = open('/var/www/cgi-bin/results.txt', 'w')
print >>file, result
file.flush()
And then my second script runs this to display the one liner:
import cgi
import cgitb; cgitb.enable() # again only for temp debugging.
def dispmetar():
f = open('results.txt', 'r')
data = f.readlines()
print 'Content-Type: text/html'
print
for line in data:
print "<u>METAR</u>: " + line
dispmetar()
Just playing around with creating my own functions as you can tell...
----------------------------------------------
This mail sent through http://www.ukonline.net
More information about the Tutor
mailing list