reported via error monitor on osi prod
ENTRY
Sat Aug 14 22:11:54 2010
Exception when processing https://karl.soros.org/communities/osi-africa-wide-foi-rti-advocacy-and-litigation-meeting-nairobi-kenya-august-16-18-2010/blog/add_blogentry.html
Traceback (most recent call last):
File "/opt/karl/osi/3.23-0/src/karl/karl/errorlog.py", line 15, in middleware
return app(environ, start_response)
File "/opt/karl/osi/3.23-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.23-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.23-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.23-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.23-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.23-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.23-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.23-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.23-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.23-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.23-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.23-0/eggs/repoze.bfg-1.2-py2.5.egg/repoze/bfg/configuration.py", line 1704, in _rendered_view
response = view(context, request)
File "/opt/karl/osi/3.23-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/zcml.py", line 174, in __call__
return submitted(request, form, controller, self.action, controller)
File "/opt/karl/osi/3.23-0/eggs/repoze.bfg.formish-0.3-py2.5.egg/repoze/bfg/formish/zcml.py", line 213, in submitted
result = getattr(controller, handler)(converted)
File "/opt/karl/osi/3.23-0/src/karl/karl/content/views/blog.py", line 375, in handle_submit
creator, request)
File "/opt/karl/osi/3.23-0/src/karl/karl/content/views/utils.py", line 48, in upload_attachments
if attachment.filename:
AttributeError: 'NoneType' object has no attribute 'filename'
I was not able to reproduce this bug, but judging by the stack trace, there is some set of circumstances (which I haven't found--maybe browser dependent?) which will cause formish to put 'None' values in the attachments sequence. I have updated the code for adding attachments to blog entries to ignore None values.