2
# User Thomas Waldmann <tw AT waldmann-edv DOT de>
3
# Date 1200688823 -3600
4
# Node ID dbe95b27954adcb135e392ff1f9c883d0cfb7dc6
5
# Parent ca98a59c590262c1a7cad51be6af1dfa40e605fe
6
fixed Despam action: editor grouping was broken, increase time interval to 30d
8
diff -r ca98a59c5902 -r dbe95b27954a MoinMoin/action/Despam.py
9
--- a/MoinMoin/action/Despam.py Fri Oct 26 09:15:18 2007 +0200
10
+++ b/MoinMoin/action/Despam.py Fri Jan 18 21:40:23 2008 +0100
12
@license: GNU GPL, see COPYING for details.
15
+DAYS = 30 # we look for spam edits in the last x days
19
from MoinMoin.logfile import editlog
20
@@ -16,6 +18,20 @@ from MoinMoin import wikiutil, Page, Pag
21
from MoinMoin import wikiutil, Page, PageEditor
22
from MoinMoin.macro import RecentChanges
23
from MoinMoin.formatter.text_html import Formatter
25
+def render(editor_tuple):
26
+ etype, evalue = editor_tuple
29
+ elif etype == 'interwiki':
30
+ ewiki, euser = evalue
34
+ ret = '%s:%s' % evalue
36
+ ret = repr(editor_tuple)
39
def show_editors(request, pagename, timestamp):
41
@@ -31,13 +47,14 @@ def show_editors(request, pagename, time
42
if not request.user.may.read(line.pagename):
45
- editor = line.getEditor(request)
46
+ editor = line.getInterwikiEditorData(request)
47
if not line.pagename in pages:
48
pages[line.pagename] = 1
49
editors[editor] = editors.get(editor, 0) + 1
51
- editors = [(nr, editor) for editor, nr in editors.iteritems()]
52
+ editors = [(nr, editor) for editor, nr in editors.items()]
56
pg = Page.Page(request, pagename)
58
@@ -46,7 +63,7 @@ def show_editors(request, pagename, time
59
Column('pages', label=_("Pages"), align='right'),
60
Column('link', label='', align='left')]
61
for nr, editor in editors:
62
- dataset.addRow((editor, unicode(nr), pg.link_to(request, text=_("Select Author"), querystr="action=Despam&editor=%s" % wikiutil.url_quote_plus(editor))))
63
+ dataset.addRow((render(editor), unicode(nr), pg.link_to(request, text=_("Select Author"), querystr="action=Despam&editor=%s" % wikiutil.url_quote_plus(repr(editor)))))
65
table = DataBrowserWidget(request)
66
table.setData(dataset)
67
@@ -77,7 +94,7 @@ def show_pages(request, pagename, editor
69
if not line.pagename in pages:
70
pages[line.pagename] = 1
71
- if line.getEditor(request) == editor:
72
+ if repr(line.getInterwikiEditorData(request)) == editor:
73
line.time_tuple = request.user.getTime(wikiutil.version2timestamp(line.ed_time_usecs))
74
request.write(RecentChanges.format_page_edits(macro, [line], timestamp))
76
@@ -104,10 +121,10 @@ def revert_page(request, pagename, edito
77
for line in log.reverse():
80
- if line.getEditor(request) != editor:
81
+ if repr(line.getInterwikiEditorData(request)) != editor:
84
- if line.getEditor(request) != editor:
85
+ if repr(line.getInterwikiEditorData(request)) != editor:
89
@@ -144,17 +161,17 @@ def revert_pages(request, editor, timest
91
if not line.pagename in pages:
92
pages[line.pagename] = 1
93
- if line.getEditor(request) == editor:
94
+ if repr(line.getInterwikiEditorData(request)) == editor:
95
revertpages.append(line.pagename)
97
- request.write("Debug: Pages to revert:<br>%s" % "<br>".join(revertpages))
98
+ request.write("Pages to revert:<br>%s" % "<br>".join(revertpages))
99
for pagename in revertpages:
100
- request.write("Debug: Begin reverting %s ...<br>" % pagename)
101
+ request.write("Begin reverting %s ...<br>" % pagename)
102
msg = revert_page(request, pagename, editor)
104
request.write("<p>%s: %s</p>" % (
105
Page.Page(request, pagename).link_to(request), msg))
106
- request.write("Debug: Finished reverting %s.<br>" % pagename)
107
+ request.write("Finished reverting %s.<br>" % pagename)
109
def execute(pagename, request):
111
@@ -166,7 +183,7 @@ def execute(pagename, request):
112
msg = _('You are not allowed to use this action.'))
114
editor = request.form.get('editor', [None])[0]
115
- timestamp = time.time() - 24 * 3600
116
+ timestamp = time.time() - DAYS * 24 * 3600
117
# request.form.get('timestamp', [None])[0]
118
ok = request.form.get('ok', [0])[0]
120
diff -r ca98a59c5902 -r dbe95b27954a docs/CHANGES
121
--- a/docs/CHANGES Fri Oct 26 09:15:18 2007 +0200
122
+++ b/docs/CHANGES Fri Jan 18 21:40:23 2008 +0100
123
@@ -41,6 +41,8 @@ Version 1.5.current:
124
* Fix "Toggle line numbers" link in code areas, so it gets translated
125
for the current user's language.
126
* added missing data/plugin/converter package
127
+ * Fixed Despam action (same editor grouping was broken), now looking for
128
+ spam edits in the last 30 days.