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)



_______________________________________________
Pywikipedia-svn mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikipedia-svn

Reply via email to