jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/404621 )
Change subject: PetScanPageGenerator.query: Raise ServerError if response status is 5xx
......................................................................
PetScanPageGenerator.query: Raise ServerError if response status is 5xx
Also skip the related test if there is a ServerError.
Bug: T184426
Change-Id: Ie0110b85be9fe170ca2356ee45369a1771fb2be1
---
M pywikibot/pagegenerators.py
M tests/pagegenerators_tests.py
2 files changed, 15 insertions(+), 4 deletions(-)
Approvals:
jenkins-bot: Verified
Xqt: Looks good to me, approved
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index b952a82..e67b64e 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -49,7 +49,11 @@
from pywikibot import date, config, i18n, xmlreader
from pywikibot.bot import ListOption
from pywikibot.comms import http
-from pywikibot.exceptions import ArgumentDeprecationWarning, UnknownExtension
+from pywikibot.exceptions import (
+ ArgumentDeprecationWarning,
+ ServerError,
+ UnknownExtension,
+)
from pywikibot.logentries import LogEntryFactory
from pywikibot.proofreadpage import ProofreadPage
@@ -2915,6 +2919,9 @@
url = 'https://petscan.wmflabs.org'
req = http.fetch(url, params=self.opts)
+ if 500 <= req.status < 600:
+ raise ServerError(
+ 'received {0} status from {1}'.format(req.status, req.uri))
j = json.loads(req.content)
raw_pages = j['*'][0]['a']['*']
for raw_page in raw_pages:
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 5dd0f69..11e4d6b 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -15,7 +15,7 @@
import pywikibot
from pywikibot import pagegenerators, date
-from pywikibot.exceptions import UnknownExtension
+from pywikibot.exceptions import ServerError, UnknownExtension
from pywikibot.pagegenerators import (
PagesFromTitlesGenerator,
@@ -362,8 +362,12 @@
"""Test PetScanPageGenerator."""
site = self.get_site()
gen = pagegenerators.PetScanPageGenerator(['Pywikibot Protect Test'],
True, None, site)
- self.assertPagelistTitles(gen, titles=('User:Sn1per/ProtectTest1',
- 'User:Sn1per/ProtectTest2'),
site=site)
+ try:
+ self.assertPagelistTitles(gen, titles=(
+ 'User:Sn1per/ProtectTest1', 'User:Sn1per/ProtectTest2'),
+ site=site)
+ except ServerError as e:
+ self.skipTest(e)
gen = pagegenerators.PetScanPageGenerator(['Pywikibot Protect Test'],
False, None, site)
self.assertPagelistTitles(gen, titles=('User:Sn1per/ProtectTest1',
--
To view, visit
https://gerrit.wikimedia.org/r/404621
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie0110b85be9fe170ca2356ee45369a1771fb2be1
Gerrit-PatchSet: 4
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Dalba <dalba.wiki(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Xqt <info(a)gno.de>
Gerrit-Reviewer: Zoranzoki21 <zorandori4444(a)gmail.com>
Gerrit-Reviewer: jenkins-bot <>