[twill] Hacked some new commands
Titus Brown
titus at caltech.edu
Tue Dec 6 11:04:43 PST 2005
Hi, Suresh,
sorry it took me so long to get to this -- I wanted to have the time to
think about how best to deal with it. Plus, I'm afraid of regular
expressions, so it took me a while to dig into the code!
I spent some time going over your code. I made a few fairly simple
modifications:
* docstrings and >> command now match in variable name usage;
* re.findall only takes two arguments in Python 2.3, so I switched to
using re.compile first, and then using findall with the compiled
regexp;
* I don't think __match__ should ever be anything other than a string.
So, I switched __match__ to __matchlist__ where appropriate.
I checked the code in as an extension, under 'twill.extensions', with
the name 'match_parse'. Here's an example script:
---
extend_with match_parse
go http://www.idyll.org/
split "org"
echo __matchlist__
findall "t."
echo __matchlist__
split "org"
popmatch 0
getmatch test 'm[0].split()'
showvar test
split "org"
setmatch "m.split()[0]"
popmatch 0
echo __matchlist__
echo __match__
---
Before the next non-developer release, I'd like to put in links from the
README documentation and unit tests for the code, but that's about it.
Let me know if you have any updates etc. for the code, too.
In general, I think this type of extension is a good compromise between
adding too many specialized commands into the default twill commands,
yet making these commands part of the standard package. Comments
welcome!
The latest egg (for dev version 0.8.1a5) contains this functionality and
is available under
http://issola.caltech.edu/~t/dist/
thanks,
--titus
More information about the twill
mailing list