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',