I just commited some fixes regarding how the dburi parameters are handled.

The first fix is for incorrect handling of calls like 

connectionForURI(dburi, cache=False)

when dburi already contains some parameters encoded in the URI, like 
mysql://user:[EMAIL PROTECTED]/db?debug=1

The second fix is for incorrectly interpretted boolean values passed via 
arguments to connectionForURI or via dburi parameters. Because internally 
connectionForURI encodes all arguments using urllib.encode, they end up 
like strings. Same for dburi parameters which are extracted as strings.

As a result any such value will end up in DBConnection as a string instead 
of a boolean, being misinterpretted whenever a false value is intended.

For example connectionForURI(dburi, cache=False) will result in 
DBConnection receiving a cache='False' argument, which evaluates to True 
as a boolean value since the string 'False' is not empty.
Similarly, dburi='mysql://user:[EMAIL PROTECTED]/db?debug=0' will end up as 
debug='0' in DBConnection, being interpretted again as True since it's a 
non-empty string.

Before this fix, the only way to pass a False value to such an argument 
was to use an empty string, like '...?debug=', which is not intuitive, 
not to mention that interpreting '?debug=0' as debug=True is confusing.

I committed these changes to trunk, 0.10 and 0.9

They are backward compatible, in the sense that if you ever used an empty 
string to indicate a False boolean value, it is still interpretted that 
way, but from now on you can use '?keyword=0' to indicate a keyword with 
a false value. As a bonus, the new implementation also accepts some 
string keywords and interprets them as boolean value: yes/no, true/false, 
on/off in addition to the standard 1/0. So one can write something 
like '?debug=yes&cache=off', which is more human readable. Any other 
non-empty string is still interpreted as true as before.

-- 
Dan

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to