[Pywikipedia-svn] SVN: [7211] trunk/pywikipedia/maintenance/readtalk.py
alexsh at svn.wikimedia.org
alexsh at svn.wikimedia.org
Sat Sep 5 10:47:00 UTC 2009
Revision: 7211
Author: alexsh
Date: 2009-09-05 10:47:00 +0000 (Sat, 05 Sep 2009)
Log Message:
-----------
follow up to enable read sysop talkpage and cleanup new message warning.
Modified Paths:
--------------
trunk/pywikipedia/maintenance/readtalk.py
Modified: trunk/pywikipedia/maintenance/readtalk.py
===================================================================
--- trunk/pywikipedia/maintenance/readtalk.py 2009-09-05 10:38:00 UTC (rev 7210)
+++ trunk/pywikipedia/maintenance/readtalk.py 2009-09-05 10:47:00 UTC (rev 7211)
@@ -14,33 +14,47 @@
import wikipedia, config
-def readtalk(lang, familyName):
+def readtalk(lang, familyName, sysop = False):
site = wikipedia.getSite(code=lang, fam=familyName)
- site.forceLogin();
- page = wikipedia.Page(site, u'User_Talk:' + config.usernames[familyName][lang])
- wikipedia.output(u'Reading talk page from %s:%s'% (lang,familyName))
+ index = site._userIndex(sysop)
+ if sysop:
+ user = config.sysopnames[familyName][lang]
+ else:
+ user = config.usernames[familyName][lang]
+ page = wikipedia.Page(site, user, defaultNamespace=3)
+ if not site.loggedInAs(sysop):
+ site.forceLogin()
+ if site._messages[index]:
+ wikipedia.output("cleanning up the account new message notice")
+ pagetext = site.getUrl(site.get_address(u'User_Talk:' + user), sysop=sysop)
+ del pagetext
+ wikipedia.output(u'Reading talk page from %s:%s:%s'% (lang,familyName, user))
try:
- wikipedia.output(page.get (get_redirect=True)+"\n")
+ wikipedia.output( page.get(get_redirect=True)+"\n")
except wikipedia.NoPage:
- wikipedia.output("WARNING: Account talk page is not exist.\n")
+ wikipedia.output("Talk page is not exist.")
except wikipedia.UserBlocked:
- wikipedia.output("WARNING: Account in %s:%s is blocked.\n"% (familyName,lang))
+ wikipedia.output("Account is blocked.")
def main():
# Get a dictionary of all the usernames
- all = False
+ all = sysop = False
for arg in wikipedia.handleArgs():
if arg.startswith('-all'):
all = True
-
+ elif arg.startswith('-sysop'):
+ sysop = True
if all == True:
- namedict = config.usernames
+ if sysop:
+ namedict = config.sysopnames
+ else:
+ namedict = config.usernames
for familyName in namedict.iterkeys():
for lang in namedict[familyName].iterkeys():
- readtalk(lang,familyName)
+ readtalk(lang, familyName, sysop)
else:
- readtalk(wikipedia.default_code,wikipedia.default_family)
+ readtalk(wikipedia.default_code, wikipedia.default_family, sysop)
if __name__ == "__main__":
try:
More information about the Pywikipedia-svn
mailing list