Modify ↓
#8516 closed defect (fixed)
cannot upload attachment to a topic
| Reported by: | Christian Masopust | Owned by: | Radek Bartoň |
|---|---|---|---|
| Priority: | low | Component: | DiscussionPlugin |
| Severity: | minor | Keywords: | Upload Attachment |
| Cc: | Trac Release: | 0.12 |
Description
uploading attachments to a existing topic leads to the following exception:
2011-02-18 09:07:30,789 Trac[api] DEBUG: SELECT i, d FROM topic WHERE id = 1
2011-02-18 09:07:30,792 Trac[main] ERROR: Internal Server Error:
Traceback (most recent call last):
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py", line 511, in _dispatch_request
dispatcher.dispatch(req)
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/web/main.py", line 237, in dispatch
resp = chosen_handler.process_request(req)
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/attachment.py", line 448, in process_request
self._do_save(req, attachment)
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/attachment.py", line 612, in _do_save
if not resource_exists(self.env, parent_resource):
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/resource.py", line 454, in resource_exists
return manager.resource_exists(resource)
File "/usr/lib/python2.6/site-packages/TracDiscussion-0.8-py2.6.egg/tracdiscussion/api.py", line 232, in resource_exists
values = (id,)) != None
File "/usr/lib/python2.6/site-packages/TracDiscussion-0.8-py2.6.egg/tracdiscussion/api.py", line 1516, in _get_item
context.cursor.execute(sql, values)
File "/usr/lib/python2.6/site-packages/Trac-0.12.1-py2.6.egg/trac/db/util.py", line 65, in execute
return self.cursor.execute(sql_escape_percent(sql), args)
ProgrammingError: column "i" does not exist
LINE 1: SELECT i, d FROM topic WHERE id = E'1'
^
ProgrammingError: column "i" does not exist
LINE 1: SELECT i, d FROM topic WHERE id = E'1'
^
checking the source i found the problem in api.py (sorry, am not a python programmer, but at least could fix it by applying the following patch:
diff -Naur discussionplugin/0.11/tracdiscussion/api.py discussionplugin-orig/0.11/tracdiscussion/api.py
--- discussionplugin/0.11/tracdiscussion/api.py 2011-02-18 09:23:59.144831970 +0100
+++ discussionplugin-orig/0.11/tracdiscussion/api.py 2011-01-30 18:25:52.000000000 +0100
@@ -223,17 +223,17 @@
# Check if forum exists.
if type == 'forum':
- return self._get_item(context, 'forum', ('id',), where = 'id = %s',
+ return self._get_item(context, 'forum', ('id'), where = 'id = %s',
values = (id,)) != None
# Check if topic exits.
elif type == 'topic':
- return self._get_item(context, 'topic', ('id',), where = 'id = %s',
+ return self._get_item(context, 'topic', ('id'), where = 'id = %s',
values = (id,)) != None
# Check if message exists.
elif type == 'message':
- return self._get_item(context, 'message', ('id',), where = 'id = %s',
+ return self._get_item(context, 'message', ('id'), where = 'id = %s',
values = (id,)) != None
# Main request processing function.
br, christian
Attachments (0)
Note: See
TracTickets for help on using
tickets.



Yeah, this is unfortunately the behavior of some Python versions. Thank you for reporting. It's already commited to the upstream.