Wouter van Marle
wouter at squirrel-systems.com
Thu Jun 1 12:06:25 EDT 2006
On Thu, 2006-06-01 at 11:56 -0400, Jim Gallacher wrote: > Wouter van Marle wrote: > > Hi all, > > > > I'd like to use the psp templating module outside of the apache context: > > this as I'm trying to create an off-line version of my website. But I > > get errors when attempting to import psp. Instead of publishing the > > resulting html code in apache, I want to save them to disk as static > > html files. > > > > But when importing psp on the command line I get an error: > Don't use psp directly. The really interesting stuff happens in the _psp > parser module. Stripping away the mod_python specific code, PSP > basically boils down to the following: > > from mod_python import _psp Ah... stupid me... I import psp but don't even use it in the code :) Copies a line too many from my web server scripts. My solution is as follows. It allows me to give a psp file with variables and get back a string with the page in html. def psp2html(filename, variables={}): # Read the psp file in filename, run it through the parser and # the interpretor, and return the html code as result. directory, fname = os.path.split(filename) directory += "/" # invoke the parser pycode = _psp.parse(fname, directory).splitlines() pycode = [s.rstrip() for s in pycode] code = "" for s in pycode: code += s.replace(",0)", ")")+"\n" variables["req"] = StringIO.StringIO() exec code in variables return variables["req"].getvalue()
|