[MediaWiki-commits] [Gerrit] pywikibot/core[master]: [IMPR] Simplify isCategoryRedirect method
Xqt has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/398474 ) Change subject: [IMPR] Simplify isCategoryRedirect method .. [IMPR] Simplify isCategoryRedirect method - test for args length instead of try/except IndexError construct - assign self._catredirect = False only once - use Namespace.CATEGORY constants - improve error messages Change-Id: Ib74d6215d4b57ccd6eb9d74fa46b09d71c6cb12c --- M pywikibot/page.py 1 file changed, 12 insertions(+), 14 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/74/398474/1 diff --git a/pywikibot/page.py b/pywikibot/page.py index d9580b6..e6c157d 100644 --- a/pywikibot/page.py +++ b/pywikibot/page.py @@ -847,28 +847,26 @@ 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(withNamespace=False) in catredirs: -# Get target (first template argument) -try: -p = pywikibot.Page(self.site, args[0].strip(), ns=14) -if p.namespace() == 14: +if args: +# Get target (first template argument) +p = pywikibot.Page( +self.site, args[0].strip(), Namespace.CATEGORY) +if p.namespace() == Namespace.CATEGORY: 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: +'Category redirect target {0} on {1} is not a ' +'category'.format(p.title(asLink=True), + self.title(asLink=True))) +else: pywikibot.warning( -u"No target for category redirect on %s" -% self.title(asLink=True)) -self._catredirect = False +'No target found for category redirect on ' ++ self.title(asLink=True)) break -else: -self._catredirect = False return bool(self._catredirect) def getCategoryRedirectTarget(self): -- To view, visit https://gerrit.wikimedia.org/r/398474 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ib74d6215d4b57ccd6eb9d74fa46b09d71c6cb12c Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Xqt___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] pywikibot/core[master]: [IMPR] Simplify isCategoryRedirect method
Xqt has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/398472 ) Change subject: [IMPR] Simplify isCategoryRedirect method .. [IMPR] Simplify isCategoryRedirect method - test for args length instead of try/except IndexError construct - assign self._catredirect = False only once - use Namespace.CATEGORY constants - improve error messages Change-Id: I87bc3e29047985a1fb36a49d6f9370c981cba6df --- M pywikibot/page.py 1 file changed, 12 insertions(+), 14 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/72/398472/1 diff --git a/pywikibot/page.py b/pywikibot/page.py index d9580b6..e6c157d 100644 --- a/pywikibot/page.py +++ b/pywikibot/page.py @@ -847,28 +847,26 @@ 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(withNamespace=False) in catredirs: -# Get target (first template argument) -try: -p = pywikibot.Page(self.site, args[0].strip(), ns=14) -if p.namespace() == 14: +if args: +# Get target (first template argument) +p = pywikibot.Page( +self.site, args[0].strip(), Namespace.CATEGORY) +if p.namespace() == Namespace.CATEGORY: 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: +'Category redirect target {0} on {1} is not a ' +'category'.format(p.title(asLink=True), + self.title(asLink=True))) +else: pywikibot.warning( -u"No target for category redirect on %s" -% self.title(asLink=True)) -self._catredirect = False +'No target found for category redirect on ' ++ self.title(asLink=True)) break -else: -self._catredirect = False return bool(self._catredirect) def getCategoryRedirectTarget(self): -- To view, visit https://gerrit.wikimedia.org/r/398472 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I87bc3e29047985a1fb36a49d6f9370c981cba6df Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Xqt___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits