On Fri, 29 Jun 2001, Christopher N. Deckard wrote:
From: "Christopher N. Deckard" <cnd@ecn.purdue.edu>
Clarification, this happens when using triple quotes
print ''' foo bar '''
Actually prints: foo bar
Ah, I knew this would bite somebody someday, but you're the first to mention it. When a Script is compiled, it is actually converted into a function by prefixing it with a "def f(params..." line. If the body isn't indented, it won't compile, so it indents it one space. You can get around this by manually indenting. In other words:
## Script (Python) "indented" print ''' foo bar ''' return printed
Hmm, this was not the answer I was looking for. Are there any thoughts on fixing this in the future? I've fun into it many times now and couldn't figure out what was going on. It is especially bad when printing a textarea for a form. Everything comes out indented a space.
I'll just go line by line for now. Thanks for the answer.
You can use DTML to format your XML: <dtml-call "RESPONSE.setHeader('Content-Type', 'text/xml')"> <xml> <name><dtml-var name></name> </xml> You can do any logic necessary in python scripts, and call them from DTML. DTML is meant for this task. -Michel