Reported via error monitor for osi prod
ENTRY
Wed Aug 4 11:47:33 2010
Exception when processing https://karl.soros.org/communities/justice-initiative-for-all/files/advocacy/in
-the-press/2010/add_file.html
Traceback (most recent call last):
File "/opt/karl/osi/3.20.2-0/src/karl/karl/errorlog.py", line 15, in middleware
return app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.zodbconn-0.11-py2.5.egg/repoze/zodbconn/connector.py", line 21
, in __call__
result = self.next_app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.retry-0.9.4-py2.5.egg/repoze/retry/__init__.py", line 88, in _
_call__
app_iter = self.application(environ, replace_start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.tm2-1.0a5-py2.5.egg/repoze/tm/__init__.py", line 23, in __call
__
result = self.application(environ, save_status_and_headers)
File "/opt/karl/osi/3.20.2-0/eggs/Paste-1.7.2-py2.5.egg/paste/registry.py", line 350, in __call__
app_iter = self.application(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.who-1.0.15-py2.5.egg/repoze/who/middleware.py", line 107, in _
_call__
app_iter = app(environ, wrapper.wrap_start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.browserid-0.3-py2.5.egg/repoze/browserid/middleware.py", line
127, in __call__
return self.app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/router.py", line 130, in __call__
response = view_callable(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1520, in
__call__
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1805, in
attr_view
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1738, in
predicate_wrapper
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1753, in
_secured_view
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1708, in
_rendered_view
renderer_name)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1562, in
rendered_response
'context':context, 'request':request})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/chameleon_zpt.py", line 46, in __
call__
result = self.template(**system)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 182, in render
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 379, in r
ender
return self.render(name, slots=slots, parameters=kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 23, in ren
der_macro
macro, global_scope=global_scope, slots=slots, parameters=parameters)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 198, in r
ender_macro
return self.cook_and_render(parameters, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 361, in render
File "<string>", line 167, in _callback_content
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 1146, in
__call__
return self.renderer('/formish/form/main.html', {'form':self})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 176, in render
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 748, in _
_call__
return self.form.renderer('/formish/form/fields.html', {'form':self.form,'fields':fields})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 34, in render
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 294, in _
_call__
return fall_back_renderer(renderer, name, widget, vars)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 115, in f
all_back_renderer
return renderer('/formish/%s.html'%(name), vars)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 48, in render
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/codegen.py", line 29, in loo
kup_attr
return getattr(obj, key)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 213, in c
lasses
return _classes(self)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 83, in _c
lasses
if str(self.error):
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 244, in e
rror
val = str(error)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 40: ordinal not in range(1
28)
ENTRY
Wed Aug 4 11:48:16 2010
Exception when processing https://karl.soros.org/communities/justice-initiative-for-all/files/advocacy/in
-the-press/2010/add_file.html
Traceback (most recent call last):
File "/opt/karl/osi/3.20.2-0/src/karl/karl/errorlog.py", line 15, in middleware
return app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.zodbconn-0.11-py2.5.egg/repoze/zodbconn/connector.py", line 21
, in __call__
result = self.next_app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.retry-0.9.4-py2.5.egg/repoze/retry/__init__.py", line 88, in _
_call__
app_iter = self.application(environ, replace_start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.tm2-1.0a5-py2.5.egg/repoze/tm/__init__.py", line 23, in __call
__
result = self.application(environ, save_status_and_headers)
File "/opt/karl/osi/3.20.2-0/eggs/Paste-1.7.2-py2.5.egg/paste/registry.py", line 350, in __call__
app_iter = self.application(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.who-1.0.15-py2.5.egg/repoze/who/middleware.py", line 107, in _
_call__
app_iter = app(environ, wrapper.wrap_start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.browserid-0.3-py2.5.egg/repoze/browserid/middleware.py", line
127, in __call__
return self.app(environ, start_response)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/router.py", line 130, in __call__
response = view_callable(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1520, in
__call__
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1805, in
attr_view
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1738, in
predicate_wrapper
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1753, in
_secured_view
return view(context, request)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1708, in
_rendered_view
renderer_name)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1562, in
rendered_response
'context':context, 'request':request})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/chameleon_zpt.py", line 46, in __
call__
result = self.template(**system)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 182, in render
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 379, in r
ender
return self.render(name, slots=slots, parameters=kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 23, in ren
der_macro
macro, global_scope=global_scope, slots=slots, parameters=parameters)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 198, in r
ender_macro
return self.cook_and_render(parameters, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 361, in render
File "<string>", line 167, in _callback_content
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 1146, in
__call__
return self.renderer('/formish/form/main.html', {'form':self})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 176, in render
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 748, in _
_call__
return self.form.renderer('/formish/form/fields.html', {'form':self.form,'fields':fields})
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 34, in render
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 294, in _
_call__
return fall_back_renderer(renderer, name, widget, vars)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 115, in f
all_back_renderer
return renderer('/formish/%s.html'%(name), vars)
File "/opt/karl/osi/3.20.2-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/__init__.py", lin
e 79, in __call__
return template(**args)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 83, in __
call__
return self.render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 335, in r
ender
return super(TemplateFile, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/zpt/template.py", line 18, in ren
der
return super(PageTemplate, self).render(**kwargs)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 188, in r
ender
return self.cook_and_render(kwargs, utils.emptydict, None, True)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 315, in c
ook_and_render
args, slots, macro, global_scope)
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/template.py", line 180, in c
ook_and_render
return func(econtext, rcontext)
File "<string>", line 48, in render
File "/opt/karl/osi/3.20.2-0/eggs/Chameleon-1.1.1-py2.5.egg/chameleon/core/codegen.py", line 29, in loo
kup_attr
return getattr(obj, key)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 213, in c
lasses
return _classes(self)
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 83, in _c
lasses
if str(self.error):
File "/opt/karl/osi/3.20.2-0/eggs/formish-0.8.5.1agendaless-py2.5.egg/formish/forms.py", line 244, in e
rror
val = str(error)
UnicodeEncodeError: 'ascii' codec can't encode character u'\u2019' in position 40: ordinal not in range(1
28)
I have a feeling that, since we don't have the file, this one will be hard to handle. Perhaps the best we can do is, make sure a user-visible error gets returned...perhaps a validation error? At least we can then make the user report it and we can find a test case. Moreover, it will stay out of our log. :)