Opened 14 years ago
Last modified 8 years ago
#7309 new enhancement
RFE: TracCaptchaPlugin support.
Reported by: | Owned by: | ||
---|---|---|---|
Priority: | normal | Component: | DiscussionPlugin |
Severity: | normal | Keywords: | |
Cc: | Trac Release: | 0.12 |
Description
When I try to create a discussion using the plugin I get the following error:
How to Reproduce
While doing a POST operation on /discussion/forum/1
, Trac issued an internal error.
(please provide additional details here)
Request parameters:
{'__FORM_TOKEN': u'2b983556e38e2d3f55c5cc58', 'author': u'anonymous', 'body': u'...', 'discussion_action': u'post-add', 'forum': u'1', 'subject': u'', 'submit': u'Submit', 'subscribers': u''}
User agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; es-ES; rv:1.9.0.19) Gecko/2010031218 Firefox/3.0.19
System Information
System information not available
Enabled Plugins
Plugin information not available
Python Traceback
Traceback (most recent call last): File "/usr/lib/python2.6/site-packages/Trac-0.12-py2.6.egg/trac/web/main.py", line 513, in _dispatch_request dispatcher.dispatch(req) File "/usr/lib/python2.6/site-packages/Trac-0.12-py2.6.egg/trac/web/main.py", line 235, in dispatch resp = chosen_handler.process_request(req) File "/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/core.py", line 108, in process_request template, data = api.process_discussion(context) File "/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py", line 245, in process_discussion self._do_actions(context, actions) File "/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/api.py", line 950, in _do_actions context, topic) File "/usr/lib/python2.6/site-packages/TracDiscussion-0.7-py2.6.egg/tracdiscussion/spamfilter.py", line 25, in filter_topic topic['body'])]) TypeError: test() takes exactly 5 arguments (4 given)
I'm using Trac 0.12, TracDiscussion 0.7 and TracSpamFilter 0.3.2dev-r9922.
Attachments (1)
Change History (11)
comment:1 Changed 14 years ago by
Status: | new → assigned |
---|
comment:2 follow-up: 8 Changed 14 years ago by
I've just been having a look at this, and to fix it on our installation, I've made the following changed to 'spamfilter.py'
# -*- coding: utf-8 -*- # Trac includes. # Spamfilter includes. from tracspamfilter.api import FilterSystem, RejectContent # Local includes. from tracdiscussion.api import * class DiscussionSpamFilter(Component): """ The spam filtering component implements adapter for SpamFilterPluging which denies to create topics of messages with bad content. """ implements(IDiscussionFilter) # IDiscussionFilter methods. def filter_topic(self, context, topic): # Test topic for spam. #try: # FilterSystem(self.env).test(context.req, topic['author'], [(None, # topic['author']), (None, topic['subject']), (None, # topic['body'])]) #except RejectContent, error: # Topic contains spam. # return (False, error.message) # Topic is fine. return (True, topic) def filter_message(self, context, message): # Test message for spam. #try: # FilterSystem(self.env).test(context.req, message['author'], [(None, # message['author']), (None, message['body'])]) #except RejectContent, error: # Message contains spam. # return (False, error.message) # Message is fine. return (True, message)
It completely disabled the Spam Filter.
Would it be possible to support reCAPTCHA as an alternative via TracCaptcha? http://www.schwarz.eu/opensource/projects/trac_captcha/
comment:3 Changed 14 years ago by
Summary: | TypeError: test() takes exactly 5 arguments (4 given) → RFE: TracCaptchaPlugin support. |
---|---|
Type: | defect → enhancement |
I tested it with SpamFilterPlugin r9968 and it works fine. FilterSystem.test()
takes 3 + 1 (self
) arguments so you have to have installed some custom modifications of the plugin?
I'm changing the ticket to the request for TracCaptchaPlugin plugin support instead of closing it as worksforme.
comment:4 Changed 14 years ago by
I have the same problem like sam. The patch to solve the problem is attached
Changed 14 years ago by
Attachment: | filtersystem_5args.patch added |
---|
comment:5 Changed 14 years ago by
What revision of SpamFilterPlugin do you use? URL to the repository would be the best.
comment:6 Changed 14 years ago by
I use the current revision http://svn.edgewall.com/repos/trac/plugins/0.12/spam-filter-captcha My tracspamfilter/api.py is revision 9893
comment:7 Changed 14 years ago by
OK, thanks. I didn't know that this fork exists. I'm still using http://svn.edgewall.com/repos/trac/plugins/0.11/spam-filter .
comment:8 Changed 14 years ago by
Replying to sam@infitialis.com:
Would it be possible to support reCAPTCHA as an alternative via TracCaptcha http://www.schwarz.eu/opensource/projects/trac_captcha/
Just wanted to mention that TracCaptcha supports the DiscussionPlugin. But then, actually that's not what this bug report is about so please forgive my spamming :-P
comment:9 Changed 14 years ago by
Attached patch solved the problem for me, too. Working with trac-0.12 (stable branch) and spamfilter plugin from here.
comment:10 Changed 8 years ago by
Owner: | Radek Bartoň deleted |
---|---|
Status: | assigned → new |
OK, thanks for reporting. I'll take a look at it lately.