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)