https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
Web browser: --- Bug ID: 56873 Summary: Category.isCategoryRedirect() does not work on wikis without category redirect template defined in family file Product: Pywikibot Version: core (2.0) Hardware: All OS: All Status: UNCONFIRMED Severity: blocker Priority: Unprioritized Component: General Assignee: Pywikipedia-bugs@lists.wikimedia.org Reporter: pyfisch@googlemail.com Classification: Unclassified Mobile Platform: ---
If you call isCategoryRedirect on a category which is from a wiki which has no category redirect templates defined in the family file an error occurs.
user@computer:~$ python Python 2.7.5+ (default, Sep 19 2013, 13:48:49) [GCC 4.8.1] on linux2 Type "help", "copyright", "credits" or "license" for more information.
import pywikibot site = pywikibot.Site('de', 'wikipedia') cat = pywikibot.Category(site, 'Category:Hannover') cat.isCategoryRedirect()
de _default Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python2.7/pywikibot/page.py", line 471, in isCategoryRedirect catredirs = self.site.category_redirects() File "/usr/lib/python2.7/pywikibot/site.py", line 223, in <lambda> f = lambda *args, **kwargs: method(self.code, *args, **kwargs) File "/usr/lib/python2.7/pywikibot/family.py", line 864, in category_redirects self.get_cr_templates(code, fallback) File "/usr/lib/python2.7/pywikibot/family.py", line 879, in get_cr_templates cr_template = self.category_redirect_templates[fallback][0] IndexError: tuple index out of range
This bug is blocking https://bugzilla.wikimedia.org/show_bug.cgi?id=56774
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
pyfisch@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |56774
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
--- Comment #1 from Strainu crangasi2001@yahoo.com --- Created attachment 13758 --> https://bugzilla.wikimedia.org/attachment.cgi?id=13758&action=edit Proposed patch
Here is a proposed solution. It also fixes fringe case when the language exists, but is empty.
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
Strainu crangasi2001@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |PATCH_TO_REVIEW CC| |crangasi2001@yahoo.com Ever confirmed|0 |1
--- Comment #2 from Strainu crangasi2001@yahoo.com --- I experimented with the gerrit patch uploader, but apparently the change cannot be merged automatically.
https://gerrit.wikimedia.org/r/#/c/94621/
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
--- Comment #3 from Gerrit Notification Bot gerritadmin@wikimedia.org --- Change 94621 had a related patch set uploaded by Xqt: Fix access to the fallback category redirect list.
https://gerrit.wikimedia.org/r/94621
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
--- Comment #4 from Gerrit Notification Bot gerritadmin@wikimedia.org --- Change 94621 merged by jenkins-bot: [Bug 56873] Fix access to the fallback category redirect list.
https://gerrit.wikimedia.org/r/94621
https://bugzilla.wikimedia.org/show_bug.cgi?id=56873
Merlijn van Deen valhallasw@arctus.nl changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|PATCH_TO_REVIEW |RESOLVED Resolution|--- |FIXED
pywikipedia-bugs@lists.wikimedia.org