[mod_python] psp problem

Jim Gallacher jg.lists at sympatico.ca
Wed May 11 14:39:58 EDT 2005


Wouter van Marle wrote:
> Hi all,
> 
> I've a problem using the psp functions.
> What I am doing:
> I've a psp page, using some in-line python code, in between <% and %> 
> tags as per many examples. I however get all the time syntax errors when 
> running this through the psp.PSP.run() function. I'm sure my python code 
> as such is correct, so I'm at a loss here. Some code:
> 
> page.psp:
> <html><head>
> <!-- rest of the header and so -->
> </head>
> <p> some text for the page </p>
> <%
> for r in Results:
> %>
> I got the result <%=r%><br>
> <%
> # end indentation
> %>
> 
> then in my python program I have made a list Results, containing strings.
> 
> page = psp.PSP(req, "page.psp")
> page.run({"Results": Results})
> 
> When running it like that, in my browser an error message appears giving 
> a syntax error, pointing at the "for" in the loop.
> 
> Now from the documentation I can not find anything that would forbid 
> this. I haven't tried to set up a psp handler in apache, as I do not 
> intend to use this as such. I want to be able to pass a list of results 
> to the page, and then have the page fill itself, as smart template. The 
> main code should be out of the page.
> 

You found one of the warts in psp. Since your for loop contains no 
further python statements, the parser gets confused. Try adding a single 
comment at the beginning of your for loop:

<p> some text for the page </p>
<%
for r in Results:
     # begin indentation - comment fixes the syntax error
%>
I got the result <%=r%><br>
<%
# end indentation
%>

Regards,
Jim


More information about the Mod_python mailing list