[twill] query_string handling in wsgi_intercept.py

Titus Brown titus at caltech.edu
Wed Apr 16 01:06:52 PDT 2008


On Wed, Apr 16, 2008 at 09:36:14AM +0900, Takashi Matsuo wrote:
-> Hello list,
-> 
-> I got myselft to start writing test code for my turbogear-1.x project
-> with twill. So, I use wsgi_intercept.add_wsgi_intercept() in my
-> testcase. It worked well except for the query_string value.
-> 
-> In make_environ function in the file wsgi_intercept.py, query_string
-> is decoded and stored as environ, but in my opinion, it shouldn't be
-> decoded in this stage. Actually, decoding the query_string in this
-> stage breaks encoded plus value (%2B)  in the query string of the URL
-> because my app will decode this value once again, and treat it as just
-> a space.
-> 
-> In short, query string is decoded twice like following
-> %2B -> + -> SPACE
-> 
-> Please look into the attached file. This change doesn't break the
-> twill's unittest at all.

Hi Takashi, thanks -- I have to look into this more, but I have little
doubt your patch fixes a real problem :).

I should also check with Kumar to see if his latest version of
wsgi_intercept handles this properly...

cheers,
--titus



More information about the twill mailing list