Re: Call for help

"Mike Orr" <[email protected]> Wed, 31 Jan 2007 18:03:22 -0800
Newsgroups gmane.comp.web.quixote.user
Message-ID <[email protected]>
I found a case where my make_quixote_use_qpy module that Titus inlined fails.

If you have a StaticDirectory(..., index_filenames=["index.html"]) and
request "The_Directory/", but the index file doesn't exist, and
self.list_directory is false, Quixote uses TemplateIO to make a "This
directory does not allow its contents to be listed." document that's
htmltext.

In my ._q_traverse I call htmltext on the result (to wrap it in a
header and footer), and get:
  File "/usr/local/lib/python2.4/Quixote-2.4-py2.4-linux-i686.egg/quixote/publish.py",
line 256, in try_publish
    output = self.root_directory._q_traverse(components)
  File "/home/mso/svn/hazweb/rlink/lib/root.ptl", line 268, in _q_traverse
    output = htmltext(output)
TypeError: coercing to Unicode: need string or buffer, htmltext found

So the outer htmltext is the QPY-based one, but the one returned by
TemplateIO isn't.

I looked in quixote/utils.py and quixote/html/_py_htmltext.py but
don't see any htmltext objects created at the top level, so I don't
know why it's happening.

My root directory is in a PTL module, if that matters.  I tried
deleting the .pyc but that didn't help.

-- 
Mike Orr <[email protected]>