[Zope] queries and tiny tables and python methods... oh my!

Dieter Maurer dieter@handshake.de
Fri, 30 Jun 2000 23:48:41 +0200 (CEST)


Timothy Wilson writes:
 > The problem is hooking them all together. Passing the query to a
 > PythonMethod is throwing up the following error:
 > 
 > Error Type: TypeError
 > Error Value: argument l: expected read-only character buffer, instance found
 > /usr/local/src/zope/Zope/lib/python/Products/PythonMethod/PythonMethod.py,
 > line 168, in __call__
 >     (Object: parseLocation)
 >     (Info: ((['SB_B208'],), {}, None))
 >   File <string>, line 2, in parseLocation
 > TypeError: (see above)
 > 
 > OK, it looks to my relatively inexperienced eyes that the Python Method
 > isn't getting an argument of the type is expects.
Correct.
Instead of a string, it gets a class instance.

 > <dtml-call "REQUEST.set('user_id', user_id)">
 > <dtml-in "qry_person(uid = user_id)"><br>
 >   <dtml-in "buildingCodes(parseLocation(l))">
 >     <dtml-var building><br>  # 'building' comes from the Tiny Table
 >   </dtml-in>
 > </dtml-in>
"l" should be a string but it seems to be an instance.
Where does "l" come from?

 > I'd appreciate it if anyone has any ideas about this. I'm probably making
 > the whole thing too complicated, but for reasons of code reuse, this seemed
 > like the most efficient approach.



Dieter