[MediaWiki-commits] [Gerrit] pywikibot/core[master]: [IMPR] Simplify isCategoryRedirect method

2017-12-15 Thread Xqt (Code Review)
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

2017-12-15 Thread Xqt (Code Review)
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