|
Andreas Sommer
AndiDog at web.de
Wed Jul 1 08:46:15 EDT 2009
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??
|