Merlijn van Deen has submitted this change and it was merged.

Change subject: use i18n messages; pep8 changes
......................................................................


use i18n messages; pep8 changes

Change-Id: I9ee37be3c9579030f3a71fca6b503211650032b9
---
M scripts/blockpageschecker.py
1 file changed, 108 insertions(+), 72 deletions(-)

Approvals:
  Merlijn van Deen: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/scripts/blockpageschecker.py b/scripts/blockpageschecker.py
index 920166f..affd2b7 100755
--- a/scripts/blockpageschecker.py
+++ b/scripts/blockpageschecker.py
@@ -57,7 +57,7 @@
 # (C) Monobi a.k.a. Wikihermit, 2007
 # (C) Filnik, 2007-2011
 # (C) NicDumZ, 2008-2009
-# (C) Pywikipedia bot team, 2007-2010
+# (C) Pywikipedia bot team, 2007-2013
 #
 # Distributed under the terms of the MIT license.
 #
@@ -67,6 +67,7 @@
 import re
 import webbrowser
 import pywikibot
+from pywikibot import i18n
 from pywikibot import pagegenerators
 from pywikibot import config
 
@@ -97,12 +98,14 @@
            ur'\{\{(?:[Tt]emplate:|[Mm]odèle:|)(?:[Pp]age|[Aa]rchive|[Mm]odèle) 
protégée?(|[^\}]*)\}\}'],
     'ja': 
[ur'(?<!\<nowiki\>)\{\{(?:[Tt]emplate:|)保護(?:性急|)(?:[Ss]|)(?:\|.+|)\}\}(?!\<\/nowiki\>)\s*(?:\r\n|)*'],
 }
+
 # Regex to get the semi-protection move template
 templateSemiMoveProtection = {
     'en': None,
     'it': [r'\{\{(?:[Tt]emplate:|)[Aa]vvisobloccospostamento(?:|[ 
_]scad\|.*?|\|.*?)\}\}'],
     'ja': 
[ur'(?<!\<nowiki\>)\{\{(?:[Tt]emplate:|)移動半保護(?:[Ss]|)(?:\|.+|)\}\}(?!\<\/nowiki\>)\s*(?:\r\n|)*'],
 }
+
 # Regex to get the total-protection move template
 templateTotalMoveProtection = {
     'en': None,
@@ -111,16 +114,18 @@
 }
 
 # If you use only one template for all the type of protection, put it here.
-# You may use only one template or an unique template and some other "old" 
template that the
-# script should still check (as on it.wikipedia)
+# You may use only one template or an unique template and some other "old"
+# template that the script should still check (as on it.wikipedia)
 templateUnique = {
     'en': None,
     'it': [r'\{\{(?:[Tt]emplate:|)[Pp]rotetta\}\}'],
 }
 
-# Array: 0 => Semi-block, 1 => Total Block, 2 => Semi-Move, 3 => Total-Move, 4 
=> template-unique
+# Array: 0 => Semi-block, 1 => Total Block, 2 => Semi-Move, 3 => Total-Move,
+#        4 => template-unique
 templateNoRegex = {
-    'it': ['{{Avvisobloccoparziale}}', '{{Avvisoblocco}}', None, None, 
'{{Protetta}}'],
+    'it': ['{{Avvisobloccoparziale}}', '{{Avvisoblocco}}', None, None,
+           '{{Protetta}}'],
     'fr': ['{{Semi-protection}}', '{{Protection}}', None, None, None],
     'ja': [u'{{半保護}}', u'{{保護}}', u'{{移動半保護}}', u'{{移動保護}}', None],
 }
@@ -129,24 +134,20 @@
 categoryToCheck = {
     'en': [u'Category:Protected'],
     'ar': [u'تصنيف:محتويات محمية'],
-    'fr': [u'Category:Page semi-protégée', u'Category:Page protégée', 
u'Catégorie:Article protégé'],
-    'he': [u'קטגוריה:ויקיפדיה: דפים מוגנים', u'קטגוריה:ויקיפדיה: דפים מוגנים 
חלקית'],
-    'it': [u'Categoria:Pagine protette - scadute', u'Categoria:Pagine 
semiprotette', u'Categoria:Voci protette'],
-    'ja': [u'Category:編集保護中の記事', u'Category:編集半保護中の記事', u'Category:移動保護中の記事'],
-    'pt': [u'Category:!Páginas protegidas', u'Category:!Páginas 
semiprotegidas'],
-    'zh': [u'Category:被保护的页面', u'Category:被保護的模板', u'Category:暂时不能移动的页面', 
u'Category:被半保护的页面'],
+    'fr': [u'Category:Page semi-protégée', u'Category:Page protégée',
+           u'Catégorie:Article protégé'],
+    'he': [u'קטגוריה:ויקיפדיה: דפים מוגנים',
+           u'קטגוריה:ויקיפדיה: דפים מוגנים חלקית'],
+    'it': [u'Categoria:Pagine protette - scadute',
+           u'Categoria:Pagine semiprotette', u'Categoria:Voci protette'],
+    'ja': [u'Category:編集保護中の記事', u'Category:編集半保護中の記事',
+           u'Category:移動保護中の記事'],
+    'pt': [u'Category:!Páginas protegidas',
+           u'Category:!Páginas semiprotegidas'],
+    'zh': [u'Category:被保护的页面', u'Category:被保護的模板',
+           u'Category:暂时不能移动的页面', u'Category:被半保护的页面'],
 }
-# Comment used when the Bot edits
-comment = {
-    'en': u'Bot: Deleting out-dated template',
-    'ar': u'بوت: حذف قالب قديم',
-    'fr': u'Robot: Mise à jour des bandeaux de protection',
-    'he': u'בוט: מסיר תבנית שעבר זמנה',
-    'it': u'Bot: Tolgo o sistemo template di avviso blocco',
-    'ja': u'ロボットによる: 保護テンプレート除去',
-    'pt': u'Bot: Retirando predefinição de proteção',
-    'zh': u'機器人: 移除過期的保護模板',
-}
+
 # Check list to block the users that haven't set their preferences
 project_inserted = ['en', 'fr', 'it', 'ja', 'pt', 'zh']
 
@@ -157,22 +158,22 @@
 
 def understandBlock(text, TTP, TSP, TSMP, TTMP, TU):
     """ Understand if the page is blocked and if it has the right template """
-    if TTP is not None:
+    if TTP:
         for catchRegex in TTP:  # TTP = templateTotalProtection
             resultCatch = re.findall(catchRegex, text)
             if resultCatch:
                 return ('sysop-total', catchRegex)
-    if TSP is not None:
+    if TSP:
         for catchRegex in TSP:
             resultCatch = re.findall(catchRegex, text)
             if resultCatch:
                 return ('autoconfirmed-total', catchRegex)
-    if TU is not None:
+    if TU:
         for catchRegex in TU:
             resultCatch = re.findall(catchRegex, text)
             if resultCatch:
                 return ('unique', catchRegex)
-    if TSMP is not None and TTMP is not None and TTP != TTMP and TSP != TSMP:
+    if TSMP and TTMP and TTP != TTMP and TSP != TSMP:
         for catchRegex in TTMP:
             resultCatch = re.findall(catchRegex, text)
             if resultCatch:
@@ -204,7 +205,7 @@
 def main():
     """ Main Function """
     # Loading the comments
-    global categoryToCheck, comment, project_inserted
+    global categoryToCheck, project_inserted
     # always, define a generator to understand if the user sets one,
     # defining what's genFactory
     always = False
@@ -238,7 +239,8 @@
             genFactory.handleArg(arg)
 
     if config.mylang not in project_inserted:
-        pywikibot.output(u"Your project is not supported by this script.\nYou 
have to edit the script and add it!")
+        pywikibot.output(u"Your project is not supported by this script.\n"
+                         u"You have to edit the script and add it!")
         return
     site = pywikibot.getSite()
     site.login()
@@ -253,7 +255,7 @@
     TU = pywikibot.translate(site, templateUnique)
 
     category = pywikibot.translate(site, categoryToCheck)
-    commentUsed = pywikibot.translate(site, comment)
+    commentUsed = i18n.twtranslate(site, 'blockpageschecker-summary')
     if not generator:
         generator = genFactory.getCombinedGenerator()
     if not generator:
@@ -299,11 +301,13 @@
             try:
                 config.sysopnames[site.family.name][site.lang]
             except:
-                pywikibot.output("%s is sysop-protected : this account can't 
edit it! Skipping..." % pagename)
+                pywikibot.output(u"%s is sysop-protected: "
+                                 u"this account can't edit it! Skipping..."
+                                 % pagename)
                 continue
 
-        # Understand, according to the template in the page, what should be 
the protection
-        # and compare it with what there really is.
+        # Understand, according to the template in the page, what should be the
+        # protection and compare it with what there really is.
         TemplateInThePage = understandBlock(text, TTP, TSP, TSMP, TTMP, TU)
         # Only to see if the text is the same or not...
         oldtext = text
@@ -313,11 +317,12 @@
         if not editRestr:
             # page is not edit-protected
             # Deleting the template because the page doesn't need it.
-            if TU is not None:
+            if TU:
                 replaceToPerform = u'|'.join(TTP + TSP + TU)
             else:
                 replaceToPerform = u'|'.join(TTP + TSP)
-            text, changes = re.subn('<noinclude>(%s)</noinclude>' % 
replaceToPerform, '', text)
+            text, changes = re.subn('<noinclude>(%s)</noinclude>'
+                                    % replaceToPerform, '', text)
             if changes == 0:
                 text, changes = re.subn('(%s)' % replaceToPerform, '', text)
             msg = u'The page is editable for all'
@@ -327,35 +332,40 @@
 
         elif editRestr[0] == 'sysop':
             # total edit protection
-            if (TemplateInThePage[0] == 'sysop-total' and TTP is not None) or 
(TemplateInThePage[0] == 'unique' and TU is not None):
+            if (TemplateInThePage[0] == 'sysop-total' and TTP) or \
+               (TemplateInThePage[0] == 'unique' and TU):
                 msg = 'The page is protected to the sysop'
                 if not moveBlockCheck:
                     msg += ', skipping...'
                 pywikibot.output(msg)
             else:
-                pywikibot.output(u'The page is protected to the sysop, but the 
template seems not correct. Fixing...')
-                if TU is not None:
+                pywikibot.output(u'The page is protected to the sysop, but the 
'
+                                 u'template seems not correct. Fixing...')
+                if TU:
                     text, changes = re.subn(TemplateInThePage[1], TNR[4], text)
                 else:
                     text, changes = re.subn(TemplateInThePage[1], TNR[1], text)
 
-        elif TSP is not None or TU is not None:
+        elif TSP or TU:
             # implicitely editRestr[0] = 'autoconfirmed', edit-Semi-protection
-            if TemplateInThePage[0] == 'autoconfirmed-total' or 
TemplateInThePage[0] == 'unique':
+            if TemplateInThePage[0] == 'autoconfirmed-total' or \
+               TemplateInThePage[0] == 'unique':
                 msg = 'The page is editable only for the autoconfirmed users'
                 if not moveBlockCheck:
                     msg += ', skipping...'
                 pywikibot.output(msg)
             else:
-                pywikibot.output(u'The page is editable only for the 
autoconfirmed users, but the template seems not correct. Fixing...')
-                if TU is not None:
+                pywikibot.output(u'The page is editable only for the '
+                                 u'autoconfirmed users, but the template '
+                                 u'seems not correct. Fixing...')
+                if TU:
                     text, changes = re.subn(TemplateInThePage[1], TNR[4], text)
                 else:
                     text, changes = re.subn(TemplateInThePage[1], TNR[0], text)
 
         if changes == 0:
             # We tried to fix edit-protection templates, but it did not work.
-            pywikibot.output('Warning : No edit-protection template could be 
found')
+            pywikibot.warning('No edit-protection template could be found')
 
         if moveBlockCheck and changes > -1:
             # checking move protection now
@@ -366,51 +376,72 @@
             changes = -1
 
             if not moveRestr:
-                pywikibot.output(u'The page is movable for all, deleting the 
template...')
+                pywikibot.output(u'The page is movable for all, deleting the '
+                                 u'template...')
                 # Deleting the template because the page doesn't need it.
-                if TU is not None:
+                if TU:
                     replaceToPerform = u'|'.join(TSMP + TTMP + TU)
                 else:
                     replaceToPerform = u'|'.join(TSMP + TTMP)
-                text, changes = re.subn('<noinclude>(%s)</noinclude>' % 
replaceToPerform, '', text)
+                text, changes = re.subn('<noinclude>(%s)</noinclude>'
+                                        % replaceToPerform, '', text)
                 if changes == 0:
                     text, changes = re.subn('(%s)' % replaceToPerform, '', 
text)
             elif moveRestr[0] == 'sysop':
                 # move-total-protection
-                if (TemplateInThePage[0] == 'sysop-move' and TTMP is not None) 
or (TemplateInThePage[0] == 'unique' and TU is not None):
-                    pywikibot.output(u'The page is protected from moving to 
the sysop, skipping...')
-                    if TU is not None:
-                        text = oldtext  # no changes needed, better to revert 
the old text.
+                if (TemplateInThePage[0] == 'sysop-move' and TTMP) or \
+                   (TemplateInThePage[0] == 'unique' and TU):
+                    pywikibot.output(u'The page is protected from moving to '
+                                     u'the sysop, skipping...')
+                    if TU:
+                        # no changes needed, better to revert the old text.
+                        text = oldtext
                 else:
-                    pywikibot.output(u'The page is protected from moving to 
the sysop, but the template seems not correct. Fixing...')
-                    if TU is not None:
-                        text, changes = re.subn(TemplateInThePage[1], TNR[4], 
text)
+                    pywikibot.output(u'The page is protected from moving to '
+                                     u'the sysop, but the template seems not '
+                                     u'correct. Fixing...')
+                    if TU:
+                        text, changes = re.subn(TemplateInThePage[1], TNR[4],
+                                                text)
                     else:
-                        text, changes = re.subn(TemplateInThePage[1], TNR[3], 
text)
+                        text, changes = re.subn(TemplateInThePage[1], TNR[3],
+                                                text)
 
-            elif TSMP is not None or TU is not None:
-                # implicitely moveRestr[0] = 'autoconfirmed', 
move-semi-protection
-                if TemplateInThePage[0] == 'autoconfirmed-move' or 
TemplateInThePage[0] == 'unique':
-                    pywikibot.output(u'The page is movable only for the 
autoconfirmed users, skipping...')
-                    if TU is not None:
-                        text = oldtext  # no changes needed, better to revert 
the old text.
+            elif TSMP or TU:
+                # implicitely moveRestr[0] = 'autoconfirmed',
+                # move-semi-protection
+                if TemplateInThePage[0] == 'autoconfirmed-move' or \
+                   TemplateInThePage[0] == 'unique':
+                    pywikibot.output(u'The page is movable only for the '
+                                     u'autoconfirmed users, skipping...')
+                    if TU:
+                        # no changes needed, better to revert the old text.
+                        text = oldtext
                 else:
-                    pywikibot.output(u'The page is movable only for the 
autoconfirmed users, but the template seems not correct. Fixing...')
-                    if TU is not None:
-                        text, changes = re.subn(TemplateInThePage[1], TNR[4], 
text)
+                    pywikibot.output(u'The page is movable only for the '
+                                     u'autoconfirmed users, but the template '
+                                     u'seems not correct. Fixing...')
+                    if TU:
+                        text, changes = re.subn(TemplateInThePage[1], TNR[4],
+                                                text)
                     else:
-                        text, changes = re.subn(TemplateInThePage[1], TNR[2], 
text)
+                        text, changes = re.subn(TemplateInThePage[1], TNR[2],
+                                                text)
 
             if changes == 0:
-                # We tried to fix move-protection templates, but it did not 
work.
-                pywikibot.output('Warning : No move-protection template could 
be found')
+                # We tried to fix move-protection templates, but it did not 
work
+                pywikibot.warning('No move-protection template could be found')
 
         if oldtext != text:
             # Ok, asking if the change has to be performed and do it if yes.
-            pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<" % 
page.title())
+            pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<"
+                             % page.title())
             pywikibot.showDiff(oldtext, text)
             if not always:
-                choice = pywikibot.inputChoice(u'Do you want to accept these 
changes?', ['Yes', 'No', 'All'], ['y', 'N', 'a'], 'N')
+                choice = pywikibot.inputChoice(u'Do you want to accept these '
+                                               u'changes?',
+                                               ['Yes', 'No', 'All'],
+                                               ['y', 'N', 'a'], 'N')
                 if choice == 'a':
                     always = True
             if always or choice == 'y':
@@ -421,8 +452,8 @@
                         pywikibot.output(u'Edit conflict! skip!')
                         break
                     except pywikibot.ServerError:
-                        # Sometimes there is this error that's quite annoying 
because
-                        # can block the whole process for nothing.
+                        # Sometimes there is this error that's quite annoying
+                        # because can block the whole process for nothing.
                         errorCount += 1
                         if errorCount < 5:
                             pywikibot.output(u'Server Error! Wait..')
@@ -432,19 +463,24 @@
                             # Prevent Infinite Loops
                             raise pywikibot.ServerError(u'Fifth Server Error!')
                     except pywikibot.SpamfilterError, e:
-                        pywikibot.output(u'Cannot change %s because of 
blacklist entry %s' % (page.title(), e.url))
+                        pywikibot.output(u'Cannot change %s because of '
+                                         u'blacklist entry %s'
+                                         % (page.title(), e.url))
                         break
                     except pywikibot.PageNotSaved, error:
-                        pywikibot.output(u'Error putting page: %s' % 
(error.args,))
+                        pywikibot.output(u'Error putting page: %s'
+                                         % (error.args,))
                         break
                     except pywikibot.LockedPage:
-                        pywikibot.output(u'The page is still protected. 
Skipping...')
+                        pywikibot.output(u'The page is still protected. '
+                                         u'Skipping...')
                         break
                     else:
                         # Break only if the errors are one after the other
                         errorCount = 0
                         break
 
+
 if __name__ == "__main__":
     try:
         main()

-- 
To view, visit https://gerrit.wikimedia.org/r/79582
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I9ee37be3c9579030f3a71fca6b503211650032b9
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to