Andreas Sommer
AndiDog at web.de
Wed Jul 1 09:21:32 EDT 2009
The only "simple" solution is the following output filter: def outputfilter(filter): str = filter.read() filter.write(str.lstrip()) filter.close() Can't that be done easier, i.e. without Apache configuration? Andreas Sommer wrote: > I want to include a common "header" file in each of my PSP files > (which should produce XML), for example > > <%@ include file="common.inc" %><% > req.content_type = "text/xml" > # output some XML code here > %> > > > The "common.inc" file begins with <% and ends with %>, but because > editors automatically add a newline, it ends with a newline character. > My problem is that the XML output follows after the newline character, > but *must* be at the very beginning of the output - just try opening > such a XML file in Firefox and it will give you an error "XML or text > declaration not at start of entity". Removing the newline character > causes mod_python to throw an error. > > > I tried to work around that problem by including the common file like > this: > > PSP(req, "common.inc").run() > > ...but that gives me the following error: > > MOD_PYTHON ERROR > > ProcessId: 2787 > Interpreter: '127.0.1.1' > > ServerName: '127.0.1.1' > DocumentRoot: '/var/www/' > > URI: '/login.psp' > Location: None > Directory: '/var/www/' > Filename: '/var/www/login.psp' > PathInfo: '' > > Phase: 'PythonHandler' > Handler: 'mod_python.psp' > > Traceback (most recent call last): > > File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line > 1537, in HandlerDispatch > default=default_handler, arg=req, silent=hlist.silent) > File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line > 1229, in _process_target > result = _execute_target(config, req, object, arg) > File "/usr/lib/python2.5/site-packages/mod_python/importer.py", line > 1128, in _execute_target > result = object(arg) > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 337, > in handler > p.run() > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 243, > in run > exec code in global_scope > File "/var/www/login.psp", line 2, in <module> > PSP(req, filename = "common.inc") > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 119, > in __init__ > self.load_from_file() > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 185, > in load_from_file > code = self.cfile_get(filename, mtime) > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 169, > in cfile_get > return str2code(open(cname).read()) > File "/usr/lib/python2.5/site-packages/mod_python/psp.py", line 57, > in str2code > return new.code(*marshal.loads(s)) > MemoryError > > > Using the absolute path /var/www/common.inc doesn't work either. Any > suggestions how to work around this problem?? > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|