Wouter van Marle
wouter at squirrel-systems.com
Wed May 18 21:47:52 EDT 2005
On Wed, 2005-05-18 at 21:12 -0400, Graham Dumpleton wrote: > Wouter van Marle wrote .. > > Hi all, > > > > Is there a way to catch the html code as produced by the psp module? > > > > I mean: normally one does something like: > > page = psp.PSP(req, "template.psp") > > page.run({"spam": 1, "eggs": 5}) > > and the page is converted to html, and displayed in the browser. > > > > Now is it possible to catch this html code in a string, instead of > > sending it to the browser? This as I'd like to use the psp templating > > for creating an e-mail body. > > At first glance there seems to be no feature to do it. What you might > try (I haven't), is that presuming that all output is generated through > calls to req.write(), is to substitute the "req" object with a wrapper > class that provides its own req.write() which is actually the write() > method on a StringIO object. Mmm... yeah should be something like that... well as I mainly use it for actually building web pages in the same script, I'll just stick to normal mails, or use some other method. Do the developers accept feature requests? I have one. Wouter. > class Wrapper: > > def __init__(self,req,write): > self.__req = req > self.write = write > > def __getattr__(self,name): > return getattr(self,__req,name) > > s = StringIO.StringIO() > > page = psp.PSP(Wrapper(req,s.write), "template.psp") > page.run({"spam": 1, "eggs": 5}) > > req.log_error(s.getvalue()) > > If you were also stashing stuff in "req" from the PSP page, would also > need a __setattr__() method in the wrapper. > > Graham > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mm_cfg_has_not_been_edited_to_set_host_domains/pipermail/mod_python/attachments/20050519/9610608a/attachment.html
|