I tried to use my own custom documents. The usual Python ones are
defined in config/middleware.py so I modified this function:
def document(self):
"""
Change this method to change how error documents are displayed
"""
page = error_document_template % {
'prefix': get_prefix(request.environ),
'code': request.params.get('code', ''),
'message': request.params.get('message', ''),
}
#return Response(page)
return render_response('error.html')
Pylons spat a Unicode error at me despite the fact that I used magical
encoding at the top of the file thusly:
# encoding: utf-8
this is the loooog traceback:
ine 128, in __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\registry.py", li
ne 327, in __call__
return self.app(environ, start_response)
app_iter = self.application(environ, start_response)
File "c:\python24\lib\site-packages\Beaker-0.6.3-py2.4.egg\beaker
\session.py",
line 95, in __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 84, in __call__
response = self.wrap_app(environ, session_start_response)
return middleware(environ, start_response)
File "c:\python24\lib\site-packages\Routes-1.6.3-py2.4.egg\routes
\middleware.p
y", line 101, in __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 47, in __call__
response = self.app(environ, start_response)
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 84, in __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\errordocument.py
", line 84, in __call__
response = self.dispatch(controller, environ, start_response)
return self.app(environ, keep_status_start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 182, in dispatch
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 80, in __call__
return controller(environ, start_response)
return self.application(environ, start_response)
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\lib\base.py",
line 15, i
n __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\errordocument.py
", line 185, in __call__
return WSGIController.__call__(self, environ, start_response)
app_iter = self.application(environ, change_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 214, in __call__
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\evalexception\mi
ddleware.py", line 186, in __call__
return self.respond(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\error.py", l
ine 211, in respond
response = self._dispatch_call()
return self.application(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 161, in _dispatch_call
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpexceptions.p
y", line 633, in __call__
response = self._inspect_call(func)
self.send_http_response, catch=HTTPException)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 135, in _inspect_call
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\wsgilib.py", lin
e 225, in catch_errors_app
result = func(**args)
app_iter = application(environ, start_response)
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\controllers
\error.py", l
ine 24, in document
File "c:\python24\lib\site-packages\PasteDeploy-1.3-py2.4.egg\paste
\deploy\con
fig.py", line 164, in __call__
return render_response('error.html')
app_iter = self.application(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 314, in render_response
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 261, in __call__
response = pylons.Response(render(*args, **kargs))
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 300, in render
File "c:\python24\lib\site-packages\Beaker-0.6.3-py2.4.egg\beaker
\cache.py", l
ine 128, in __call__
format=format, namespace=kargs, **cache_args)
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 206, in render
File "c:\python24\lib\site-packages\Beaker-0.6.3-py2.4.egg\beaker
\session.py",
line 95, in __call__
return engine_config['engine'].render(namespace,
template=full_path,
response = self.wrap_app(environ, session_start_response)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 36, in render
File "c:\python24\lib\site-packages\Routes-1.6.3-py2.4.egg\routes
\middleware.p
y", line 101, in __call__
template = self.load_template(template)
response = self.app(environ, start_response)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 32, in load_template
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 84, in __call__
return self.lookup.get_template(templatename)
response = self.dispatch(controller, environ, start_response)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
68, in get_template
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 182, in dispatch
return self.__load(srcfile, uri)
return controller(environ, start_response)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
110, in __load
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\lib\base.py",
line 15, i
n __call__
self.__collection[uri] = Template(uri=uri,
filename=posixpath.normpath(filen
ame), lookup=self, module_filename=(self.modulename_callable is not
None and sel
f.modulename_callable(filename, uri) or None), **self.template_args)
return WSGIController.__call__(self, environ, start_response)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 69, in __init__
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 214, in __call__
_compile_module_file(self, file(filename).read(), filename, path)
response = self._dispatch_call()
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 190, in _compile_module_file
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 161, in _dispatch_call
node = Lexer(text, filename,
input_encoding=template.input_encoding, preproc
essor=template.preprocessor).parse()
response = self._inspect_call(func)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lexer.py", line
124, in parse
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 135, in _inspect_call
result = func(**args)
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\controllers
\error.py", l
ine 24, in document
raise exceptions.CompileException("Unicode decode operation of
encoding '%s'
failed" % self.encoding, 0, 0, self.filename)
return render_response('error.html')
CompileException: Unicode decode operation of encoding 'utf-8' failed
in file 'D
:\Projects\Pylons_projects\gameolymp\gameolymp\templates/error.html'
at line: 0
char: 0
- --------------------------------------- File "c:\python24\lib\site-
packages\Py
lons-0.9.5-py2.4.egg\pylons\templating.py", line 314, in
render_response
response = pylons.Response(render(*args, **kargs))
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 300, in render
format=format, namespace=kargs, **cache_args)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 206, in render
return engine_config['engine'].render(namespace,
template=full_path,
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 36, in render
template = self.load_template(template)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 32, in load_template
return self.lookup.get_template(templatename)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
68, in get_template
return self.__load(srcfile, uri)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
110, in __load
self.__collection[uri] = Template(uri=uri,
filename=posixpath.normpath(filen
ame), lookup=self, module_filename=(self.modulename_callable is not
None and sel
f.modulename_callable(filename, uri) or None), **self.template_args)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 69, in __init__
_compile_module_file(self, file(filename).read(), filename, path)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 190, in _compile_module_file
node = Lexer(text, filename,
input_encoding=template.input_encoding, preproc
essor=template.preprocessor).parse()
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lexer.py", line
124, in parse
raise exceptions.CompileException("Unicode decode operation of
encoding '%s'
failed" % self.encoding, 0, 0, self.filename)
CompileException: Unicode decode operation of encoding 'utf-8' failed
in file 'D
:\Projects\Pylons_projects\gameolymp\gameolymp\templates/error.html'
at line: 0
char: 0
----------------------------------------
----------------------------------------
Exception happened during processing of request from ('127.0.0.1',
2343)
Traceback (most recent call last):
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpserver.py",
line 592, in process_request_in_thread
self.finish_request(request, client_address)
File "C:\Python24\lib\SocketServer.py", line 254, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "C:\Python24\lib\SocketServer.py", line 521, in __init__
self.handle()
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpserver.py",
line 400, in handle
BaseHTTPRequestHandler.handle(self)
File "C:\Python24\lib\BaseHTTPServer.py", line 316, in handle
self.handle_one_request()
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpserver.py",
line 395, in handle_one_request
self.wsgi_execute()
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpserver.py",
line 266, in wsgi_execute
self.wsgi_start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\cascade.py", lin
e 92, in __call__
return self.apps[-1](environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\registry.py", li
ne 327, in __call__
app_iter = self.application(environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 84, in __call__
return middleware(environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 47, in __call__
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\errordocument.py
", line 84, in __call__
return self.app(environ, keep_status_start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\recursive.py", l
ine 80, in __call__
return self.application(environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\errordocument.py
", line 185, in __call__
app_iter = self.application(environ, change_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\evalexception\mi
ddleware.py", line 186, in __call__
return self.respond(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\error.py", l
ine 211, in respond
return self.application(environ, start_response)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\httpexceptions.p
y", line 633, in __call__
self.send_http_response, catch=HTTPException)
File "c:\python24\lib\site-packages\Paste-1.3-py2.4.egg\paste
\wsgilib.py", lin
e 225, in catch_errors_app
app_iter = application(environ, start_response)
File "c:\python24\lib\site-packages\PasteDeploy-1.3-py2.4.egg\paste
\deploy\con
fig.py", line 164, in __call__
app_iter = self.application(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 261, in __call__
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Beaker-0.6.3-py2.4.egg\beaker
\cache.py", l
ine 128, in __call__
return self.app(environ, start_response)
File "c:\python24\lib\site-packages\Beaker-0.6.3-py2.4.egg\beaker
\session.py",
line 95, in __call__
response = self.wrap_app(environ, session_start_response)
File "c:\python24\lib\site-packages\Routes-1.6.3-py2.4.egg\routes
\middleware.p
y", line 101, in __call__
response = self.app(environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 84, in __call__
response = self.dispatch(controller, environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\wsgiapp.py",
line 182, in dispatch
return controller(environ, start_response)
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\lib\base.py",
line 15, i
n __call__
return WSGIController.__call__(self, environ, start_response)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 214, in __call__
response = self._dispatch_call()
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 161, in _dispatch_call
response = self._inspect_call(func)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\controllers.
py", line 135, in _inspect_call
result = func(**args)
File "D:\Projects\Pylons_projects\gameolymp\gameolymp\controllers
\error.py", l
ine 24, in document
return render_response('error.html')
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 314, in render_response
response = pylons.Response(render(*args, **kargs))
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 300, in render
format=format, namespace=kargs, **cache_args)
File "c:\python24\lib\site-packages\Pylons-0.9.5-py2.4.egg\pylons
\templating.p
y", line 206, in render
return engine_config['engine'].render(namespace,
template=full_path,
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 36, in render
template = self.load_template(template)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako\ext
\turbogears.p
y", line 32, in load_template
return self.lookup.get_template(templatename)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
68, in get_template
return self.__load(srcfile, uri)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lookup.py", line
110, in __load
self.__collection[uri] = Template(uri=uri,
filename=posixpath.normpath(filen
ame), lookup=self, module_filename=(self.modulename_callable is not
None and sel
f.modulename_callable(filename, uri) or None), **self.template_args)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 69, in __init__
_compile_module_file(self, file(filename).read(), filename, path)
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\template.py", li
ne 190, in _compile_module_file
node = Lexer(text, filename,
input_encoding=template.input_encoding, preproc
essor=template.preprocessor).parse()
File "c:\python24\lib\site-packages\mako-0.1.5-py2.4.egg\mako
\lexer.py", line
124, in parse
raise exceptions.CompileException("Unicode decode operation of
encoding '%s'
failed" % self.encoding, 0, 0, self.filename)
CompileException: Unicode decode operation of encoding 'utf-8' failed
in file 'D
:\Projects\Pylons_projects\gameolymp\gameolymp\templates/error.html'
at line: 0
char: 0
----------------------------------------
Could someone shed light on this?
Thanks
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---