[Zope3-dev] JobBoardEx glitch

Guido van Rossum guido@python.org
Tue, 26 Mar 2002 22:06:28 -0500


The more recent Z3 checkins left the job board with one problem.  The
job view uses a template that has the following form (details left
out):

    <form action=".." method="post">
	<input type="submit" value="Back to summary">
    </form>

The BASE HREF is http://localhost:8080/jobboard/2/index.html which
means that the form action points to http://localhost:8080/jobboard
(or maybe that with a trailing /).  There are no other form elements;
this is intended to just show a button that goes back to the job board
summary.  This worked fine before the weekend.

When I click on the button now, I get this traceback:

    TypeError

    Traceback (innermost last): 

	  Module Zope.Publisher.Publish, line 38, in executeRequest 
	  Module Zope.App.ZopePublication.ZopePublication, line 104, in callObject 
	  Module Zope.Publisher.mapply, line 50, in mapply
	  __traceback_info__: <ZopeProducts.JobBoardEx.JobList.JobList object at 0x4050a71c> 
	  Module Zope.Publisher.mapply, line 40, in unwrapMethod 

    TypeError: mapply() can not call

But when I change the form to use method="get", it works!  Could there
be a bug lurking in the new publisher code?

Also note that the error message is truncated (some object's repr() is
supposed to follow "call").  I believe that I once did a "View -> Page
Source" and saw that it said something like <JobBoardEx.JobListView
object at ...>, with unescaped < and >.  It looks like something's not
properly escaping the traceback.

[Later: I figured out what's wrong with the traceback, and checked in
a fix.]

--Guido van Rossum (home page: http://www.python.org/~guido/)