================================ Known Problems or Error Messages ================================ Problems posted to the twill mailing list (or sent to Titus personally) will end up here if they are either outside the scope of twill, or intractable within the context of the twill project! Last updated Apr 2006. 1. inspect module masking ~~~~~~~~~~~~~~~~~~~~~~~~~ The error message :: AttributeError: 'module' object has no attribute 'getmro' is caused by masking of the default Python 'inspect' module with another module named 'inspect'. Known to happen in Webware installs. (Reported by David Hancock.) 2. Empty 'textarea' form elements are filled with a newline by 'tidy'. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Specifically, :: <textarea></textarea> is turned into :: <textarea> </textarea> by tidy. Set 'config use_tidy 0' to turn this off. You can use :: <textarea /> to sneak an empty textarea through tidy. (Reported by Gabor Farkas.) 3. Unicode support is still young. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It's not yet clear how well mechanize and twill adhere to either the official recommendations (http://www.w3.org/TR/REC-html40/charset.html) or the unofficial recommendations (http://www.alanwood.net/unicode/htmlunicode.html) for dealing with unicode. There are definitely some problems in the version of mechanize included with twill in 0.8.4; this should be resolved in later releases. 4. Various kinds of broken HTML will break the form parser. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For example, twill (or, rather, ClientForm) sees no forms in this HTML :: <font> <INPUT type="this"> <FORM> <input type="blah"> </form> 5. Windows problems and tidy ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ If you get the error message :: The process cannot access the file because it is being used by another process. on Windows, try turning 'tidy' processing off: config use_tidy 0 (and report it to the list if this does or does not solve the problem!) 6. sys.path mangling ~~~~~~~~~~~~~~~~~~~~ twill, on import, alters the Python ``sys.path`` by appending ``twill/extensions`` to sys.path and inserting ``twill/other_packages`` in the front of the module path. This may cause problems with packages with conflicting names. In particular, other modules whose names "shadow" twill's included extensions will be imported instead of the included extensions. Also, only twill's versions of pyparsing, mechanize, ClientForm, and ClientCookie will be import-able. There is no good, simple way to get around this; setuptools may be our only hope.