~ubuntu-branches/ubuntu/natty/moin/natty-updates

« back to all changes in this revision

Viewing changes to debian/patches/00853_despam_editor_grouping.patch

  • Committer: Bazaar Package Importer
  • Author(s): Jonas Smedegaard
  • Date: 2008-06-22 21:17:13 UTC
  • mfrom: (0.9.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080622211713-fpo2zrq3s5dfecxg
Tags: 1.7.0-3
Simplify /etc/moin/wikilist format: "USER URL" (drop unneeded middle
CONFIG_DIR that was wrongly advertised as DATA_DIR).  Make
moin-mass-migrate handle both formats and warn about deprecation of
the old one.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# HG changeset patch
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
7
 
 
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
11
 
@@ -8,6 +8,8 @@
12
 
     @license: GNU GPL, see COPYING for details.
13
 
 """
14
 
 
15
 
+DAYS = 30 # we look for spam edits in the last x days
16
 
+
17
 
 import time
18
 
 
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
24
 
+
25
 
+def render(editor_tuple):
26
 
+    etype, evalue = editor_tuple
27
 
+    if etype == 'ip':
28
 
+        ret = evalue
29
 
+    elif etype == 'interwiki':
30
 
+        ewiki, euser = evalue
31
 
+        if ewiki == 'Self':
32
 
+            ret = euser
33
 
+        else:
34
 
+            ret = '%s:%s' % evalue
35
 
+    else:
36
 
+        ret = repr(editor_tuple)
37
 
+    return ret
38
 
 
39
 
 def show_editors(request, pagename, timestamp):
40
 
     _ =  request.getText
41
 
@@ -31,13 +47,14 @@ def show_editors(request, pagename, time
42
 
         if not request.user.may.read(line.pagename):
43
 
             continue
44
 
         
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
50
 
             
51
 
-    editors = [(nr, editor) for editor, nr in editors.iteritems()]
52
 
+    editors = [(nr, editor) for editor, nr in editors.items()]
53
 
     editors.sort()
54
 
+    editors.reverse()
55
 
 
56
 
     pg = Page.Page(request, pagename)
57
 
 
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)))))
64
 
     
65
 
     table = DataBrowserWidget(request)
66
 
     table.setData(dataset)
67
 
@@ -77,7 +94,7 @@ def show_pages(request, pagename, editor
68
 
 
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))
75
 
 
76
 
@@ -104,10 +121,10 @@ def revert_page(request, pagename, edito
77
 
     for line in log.reverse():
78
 
         if first:
79
 
             first = False
80
 
-            if line.getEditor(request) != editor:
81
 
+            if repr(line.getInterwikiEditorData(request)) != editor:
82
 
                 return
83
 
         else:
84
 
-            if line.getEditor(request) != editor:
85
 
+            if repr(line.getInterwikiEditorData(request)) != editor:
86
 
                 rev = line.rev
87
 
                 break
88
 
 
89
 
@@ -144,17 +161,17 @@ def revert_pages(request, editor, timest
90
 
 
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)
96
 
 
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)
103
 
         if msg:
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)
108
 
 
109
 
 def execute(pagename, request):
110
 
     _ = request.getText
111
 
@@ -166,7 +183,7 @@ def execute(pagename, request):
112
 
             msg = _('You are not allowed to use this action.'))
113
 
 
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]
119
 
 
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.
129
 
 
130
 
 Version 1.5.8:
131
 
   New features: