IulianR has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/339930 )
Change subject: Improve isCategoryReview ...................................................................... Improve isCategoryReview Bug: T61080 Change-Id: I9f0df26f6ef63d5a92a85e30913da2921d1af4da --- M pywikibot/page.py 1 file changed, 24 insertions(+), 21 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/30/339930/1 diff --git a/pywikibot/page.py b/pywikibot/page.py index 6f7c7be..2cc8cd2 100644 --- a/pywikibot/page.py +++ b/pywikibot/page.py @@ -801,30 +801,15 @@ """ if not self.isCategory(): return False - if not hasattr(self, "_catredirect"): + if not hasattr(self, "_catredirtemplate"): catredirs = self.site._category_redirects() - for (template, args) in self.templatesWithParams(): + for template in self.templates(): if template.title(withNamespace=False) in catredirs: - # Get target (first template argument) - try: - p = pywikibot.Page(self.site, args[0].strip(), ns=14) - if p.namespace() == 14: - self._catredirect = p.title() - else: - pywikibot.warning( - u"Target %s on %s is not a category" - % (p.title(asLink=True), - self.title(asLink=True))) - self._catredirect = False - except IndexError: - pywikibot.warning( - u"No target for category redirect on %s" - % self.title(asLink=True)) - self._catredirect = False + self._catredirtemplate = template break else: - self._catredirect = False - return bool(self._catredirect) + self._catredirtemplate = False + return bool(self._catredirtemplate) def getCategoryRedirectTarget(self): """ @@ -833,7 +818,25 @@ @rtype: Category """ if self.isCategoryRedirect(): - return Category(Link(self._catredirect, self.site)) + # Get target + templatesDict = dict(self.templatesWithParams) + args = templatesDict[self._catredirtemplate] + try: + p = pywikibot.Page(self.site, args[0].strip(), ns=14) + if p.namespace() == 14: + return Category(Link(p.title, self.site)) + else: + pywikibot.warning( + u"Target %s on %s is not a category" + % (p.title(asLink=True), + self.title(asLink=True))) + raise pywikibot.IsNotRedirectPage(self) + except IndexError: + pywikibot.warning( + u"No target for category redirect on %s" + % self.title(asLink=True)) + raise pywikibot.IsNotRedirectPage(self) + raise pywikibot.IsNotRedirectPage(self) @deprecated("interwiki.page_empty_check(page)") -- To view, visit https://gerrit.wikimedia.org/r/339930 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9f0df26f6ef63d5a92a85e30913da2921d1af4da Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: IulianR <iulian.rad...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits