Xqt has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/279589

Change subject: [bugfix] Don't fail missing 'redirects' with RuntimeError
......................................................................

[bugfix] Don't fail missing 'redirects' with RuntimeError

- Sometimes Site.broken_redirecs returns pages
  which wrongly are marked as redirects.
  Site.getredirtarget() raises RuntimeError in that case and
  redirect.py fails.
- Now raise IsNotRedirectPage and fix _isredir variable that
  redirect.py can continue its work.

Bug: T130911
Change-Id: I286e7e83fc2c6c9ac649dd9e9fd6217df5d2466d
---
M pywikibot/site.py
1 file changed, 7 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/89/279589/1

diff --git a/pywikibot/site.py b/pywikibot/site.py
index b198dc2..96497b9 100644
--- a/pywikibot/site.py
+++ b/pywikibot/site.py
@@ -3016,10 +3016,16 @@
             titles=title,
             redirects=True)
         result = query.submit()
-        if "query" not in result or "redirects" not in result["query"]:
+
+        if "query" not in result:
             raise RuntimeError(
                 "getredirtarget: No 'redirects' found for page %s."
                 % title.encode(self.encoding()))
+        # sometimes page_isredirect(page) gives wrong result (True)
+        # when pages are retrieved from broken redirect special page.
+        if "redirects" not in result["query"]:
+            page._isredir = False
+            raise IsNotRedirectPage(page)
 
         redirmap = dict((item['from'],
                          {'title': item['to'],

-- 
To view, visit https://gerrit.wikimedia.org/r/279589
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I286e7e83fc2c6c9ac649dd9e9fd6217df5d2466d
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Xqt <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to