[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


More information about the Mod_python mailing list