jenkins-bot has submitted this change. (
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/763954 )
Change subject: [IMPR] decrease nested flow statement in isCategoryRedirect()
......................................................................
[IMPR] decrease nested flow statement in isCategoryRedirect()
Change-Id: I8d5b1e470d6a475f390c0cda0b377656a3db6256
---
M pywikibot/page/__init__.py
1 file changed, 27 insertions(+), 25 deletions(-)
Approvals:
Xqt: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index d4d3095..536c5cb 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -739,37 +739,39 @@
"""Return True if this is a category redirect page, False
otherwise."""
if not self.is_categorypage():
return False
+
if not hasattr(self, '_catredirect'):
self._catredirect = False
catredirs = self.site.category_redirects()
for template, args in self.templatesWithParams():
- if template.title(with_ns=False) in catredirs:
- if args:
- # Get target (first template argument)
- target_title = args[0].strip()
- p = pywikibot.Page(
- self.site, target_title, Namespace.CATEGORY)
- try:
- p.title()
- except pywikibot.exceptions.InvalidTitleError:
- target_title = self.site.expand_text(
- text=target_title,
- title=self.title(),
- )
- p = pywikibot.Page(self.site, target_title,
- Namespace.CATEGORY)
- if p.namespace() == Namespace.CATEGORY:
- self._catredirect = p.title()
- else:
- pywikibot.warning(
- 'Category redirect target {} on {} is not a '
- 'category'.format(p.title(as_link=True),
- self.title(as_link=True)))
+ if template.title(with_ns=False) not in catredirs:
+ continue
+
+ if args:
+ # Get target (first template argument)
+ target_title = args[0].strip()
+ p = pywikibot.Page(
+ self.site, target_title, Namespace.CATEGORY)
+ try:
+ p.title()
+ except pywikibot.exceptions.InvalidTitleError:
+ target_title = self.site.expand_text(
+ text=target_title, title=self.title())
+ p = pywikibot.Page(self.site, target_title,
+ Namespace.CATEGORY)
+ if p.namespace() == Namespace.CATEGORY:
+ self._catredirect = p.title()
else:
pywikibot.warning(
- 'No target found for category redirect on '
- + self.title(as_link=True))
- break
+ 'Category redirect target {} on {} is not a '
+ 'category'.format(p.title(as_link=True),
+ self.title(as_link=True)))
+ else:
+ pywikibot.warning(
+ 'No target found for category redirect on '
+ + self.title(as_link=True))
+ break
+
return bool(self._catredirect)
def getCategoryRedirectTarget(self):
--
To view, visit
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/763954
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I8d5b1e470d6a475f390c0cda0b377656a3db6256
Gerrit-Change-Number: 763954
Gerrit-PatchSet: 2
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged