jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/507838 )
Change subject: [IMPR] Derive CommonscatBot from ExistingPageBot and NoRedirectPageBot
......................................................................
[IMPR] Derive CommonscatBot from ExistingPageBot and NoRedirectPageBot
- Use ExistingPageBot and NoRedirectPageBot instead of skipping inside
treat method
- use skip_page method for skipping category redirects and disambiguation pages
- use treat_page instead of treat method
Change-Id: I775b55ce7b5dedfa34c9b04d95ec52ceb7661100
---
M scripts/commonscat.py
1 file changed, 18 insertions(+), 18 deletions(-)
Approvals:
D3r1ck01: Looks good to me, approved
jenkins-bot: Verified
diff --git a/scripts/commonscat.py b/scripts/commonscat.py
index 1be4a49..33ff6ea 100755
--- a/scripts/commonscat.py
+++ b/scripts/commonscat.py
@@ -64,7 +64,7 @@
import pywikibot
from pywikibot import i18n, pagegenerators
-from pywikibot.bot import SingleSiteBot
+from pywikibot.bot import SingleSiteBot, ExistingPageBot, NoRedirectPageBot
from scripts.add_text import add_text
@@ -227,7 +227,7 @@
}
-class CommonscatBot(SingleSiteBot):
+class CommonscatBot(SingleSiteBot, ExistingPageBot, NoRedirectPageBot):
"""Commons categorisation bot."""
@@ -238,22 +238,23 @@
})
super(CommonscatBot, self).__init__(**kwargs)
- def treat(self, page):
+ def skip_page(self, page):
+ """Skip category redirects or disambigs."""
+ if page.isCategoryRedirect():
+ pywikibot.warning(
+ 'Page {page} on {page.site} is a category redirect. '
+ 'Skipping.'.format(page=page))
+ return True
+ if page.isDisambig():
+ pywikibot.warning(
+ 'Page {page} on {page.site} is a disambiguation. '
+ 'Skipping.'.format(page=page))
+ return True
+ return super(CommonscatBot, self).skip_page(page)
+
+ def treat_page(self):
"""Load the given page, do some changes, and save
it."""
- if not page.exists():
- pywikibot.output('Page {} does not exist. Skipping.'
- .format(page.title(as_link=True)))
- elif page.isRedirectPage():
- pywikibot.output('Page {} is a redirect. Skipping.'
- .format(page.title(as_link=True)))
- elif page.isCategoryRedirect():
- pywikibot.output('Page {} is a category redirect. Skipping.'
- .format(page.title(as_link=True)))
- elif page.isDisambig():
- pywikibot.output('Page {} is a disambiguation. Skipping.'
- .format(page.title(as_link=True)))
- else:
- self.addCommonscat(page)
+ self.addCommonscat(self.current_page)
@classmethod
def getCommonscatTemplate(cls, code=None):
@@ -293,7 +294,6 @@
category is found add it to the page.
"""
- self.current_page = page
# Get the right templates for this page
primaryCommonscat, commonscatAlternatives = self.getCommonscatTemplate(
page.site.code)
--
To view, visit
https://gerrit.wikimedia.org/r/507838
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I775b55ce7b5dedfa34c9b04d95ec52ceb7661100
Gerrit-Change-Number: 507838
Gerrit-PatchSet: 3
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: D3r1ck01 <xsavitar.wiki(a)aol.com>
Gerrit-Reviewer: Dvorapa <dvorapa(a)seznam.cz>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: jenkins-bot (75)