Revision: 7744
Author: xqt
Date: 2009-12-08 11:17:55 +0000 (Tue, 08 Dec 2009)
Log Message:
-----------
block editing templates where iw should be on subpages (bug #1924322)
Modified Paths:
--------------
trunk/pywikipedia/interwiki.py
Modified: trunk/pywikipedia/interwiki.py
===================================================================
--- trunk/pywikipedia/interwiki.py 2009-12-08 07:52:19 UTC (rev 7743)
+++ trunk/pywikipedia/interwiki.py 2009-12-08 11:17:55 UTC (rev 7744)
@@ -486,6 +486,11 @@
'zh-yue': (u'機械人 ', u'加', u'減', u'改'),
}
+moved_links = {
+ 'de' : (u'dokumentation', u'/Meta'),
+ 'en' : (u'documentation', u'/doc'),
+}
+
class Global(object):
"""Container class for global settings.
Use of globals outside of this is to be avoided."""
@@ -1661,7 +1666,11 @@
pywikibot.output(u"Changes to be made: %s" % mods)
oldtext = page.get()
- newtext = pywikibot.replaceLanguageLinks(oldtext, new, site = page.site(), template = (page.namespace() == 10) )
+ template = (page.namespace() == 10)
+ newtext = pywikibot.replaceLanguageLinks(oldtext, new, site = page.site(), template = template )
+ if template and not botMayEdit(page):
+ pywikibot.output(u'WARNING: %s should have interwiki links on subpage. Skipping' % page.aslink(True))
+ return False
if newtext == oldtext:
return False
if globalvar.debug:
@@ -2055,6 +2064,14 @@
mcomment = head + mods
return mods, mcomment, adding, removing, modifying
+def botMayEdit (page):
+ tmpl, loc = pywikibot.translate(page.site().lang, moved_links)
+ templates = page.templatesWithParams(get_redirect=True);
+ for template in templates:
+ if template[0].lower() == tmpl:
+ return False
+ return True
+
def readWarnfile(filename, bot):
import warnfile
reader = warnfile.WarnfileReader(filename)