Revision: 8326
Author: xqt
Date: 2010-06-24 19:50:47 +0000 (Thu, 24 Jun 2010)
Log Message:
-----------
+ SysopGenerator for pt-wiki, some bugfixes
Modified Paths:
--------------
trunk/pywikipedia/blockreview.py
Modified: trunk/pywikipedia/blockreview.py
===================================================================
--- trunk/pywikipedia/blockreview.py 2010-06-24 19:13:18 UTC (rev 8325)
+++ trunk/pywikipedia/blockreview.py 2010-06-24 19:50:47 UTC (rev 8326)
@@ -20,11 +20,11 @@
#
# Distributed under the terms of the MIT license.
#
-__version__ =
+__version__ = '$Id$'
#
import wikipedia as pywikibot
-import userlib
+import userlib, query
class BlockreviewBot:
# notes
@@ -55,11 +55,12 @@
}
review_cat = {
- 'de' : u'Wikipedia:Sperrprüfung'
+ 'de' : u'Wikipedia:Sperrprüfung',
+ }
project_name = {
- 'de' : u'Benutzer:TAXman/Sperrprüfung Neu'
- 'pt' : u'Wikipedia:Pedidos a administradores/Discussão de
bloqueio'
+ 'de' : u'Benutzer:TAXman/Sperrprüfung Neu',
+ 'pt' : u'Wikipedia:Pedidos a administradores/Discussão de
bloqueio',
}
def __init__(self, dry):
@@ -115,15 +116,24 @@
# Notify the blocking admin
if templates[1]==[] or templates[1][0]==u'1':
if self.info['action'] == 'block' or
user.isBlocked():
- admin = userlib.User(self.site, self.info['user'])
- adminPage = admin.getUserTalkPage()
- adminText = adminPage.get()
- note = pywikibot.translate(self.site.lang,
- self.note_admin) % self.parts
- comment = pywikibot.translate(self.site.lang,
- self.msg_admin) % self.parts
- adminText += note
- self.save(adminText, adminPage, comment, False)
+ if self.site.sitename() == 'wikipedia:de':
+ admin = userlib.User(self.site, self.info['user'])
+ adminPage = admin.getUserTalkPage()
+ adminText = adminPage.get()
+ note = pywikibot.translate(self.site.lang,
+ self.note_admin) % self.parts
+ comment = pywikibot.translate(self.site.lang,
+ self.msg_admin) % self.parts
+ adminText += note
+ self.save(adminText, adminPage, comment, False)
+ ### test for pt-wiki
+ ### just print all sysops talk pages
+ elif self.site.sitename() == 'wikipedia:pt':
+ import pagegenerators as pg
+ gen = pg.PreloadingGenerator(self.SysopGenerator())
+ for sysop in gen:
+ print sysop.title()
+
talkText = talkText.replace(u'{{%s}}' % unblock_tpl,
u'{{%s|2}}' % unblock_tpl)
talkText = talkText.replace(u'{{%s|1}}' % unblock_tpl,
@@ -131,7 +141,7 @@
talkComment = pywikibot.translate(self.site.lang, self.msg_user %
self.parts)
# some test stuff
- if pywikibot.debug and self.site().loggedInAs() == u'Xqbot:
+ if pywikibot.debug and self.site().loggedInAs() ==
u'Xqbot:':
testPage = pywikibot.Page(self.site,
'Benutzer:Xqt/Test')
test = testPage.get()
test += note
@@ -207,6 +217,18 @@
'comment' : self.info['comment'],
}
+ def SysopGenerator(self):
+ params = param = {
+ 'action' : 'query',
+ 'list' : 'allusers',
+ 'augroup' : 'sysop',
+ 'aulimit' : 500
+ }
+ data = query.GetData(params, self.site)
+ for user in data['query']['allusers']:
+ # yield the sysop talkpage
+ yield pywikibot.Page(self.site, user['name'], defaultNamespace=3)
+
def load(self, page):
"""
Loads the given page, does some changes, and saves it.
Show replies by date