Xqt has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1087418?usp=email )
Change subject: [fix] retry SparqlQuery.query on internal server error (500) ...................................................................... [fix] retry SparqlQuery.query on internal server error (500) Bug: T378788 Change-Id: I498d8b306c73edebc2f4c17f200508dde26c428e --- M pywikibot/data/sparql.py 1 file changed, 10 insertions(+), 3 deletions(-) Approvals: Xqt: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/pywikibot/data/sparql.py b/pywikibot/data/sparql.py index addf521..d217e8b 100644 --- a/pywikibot/data/sparql.py +++ b/pywikibot/data/sparql.py @@ -15,7 +15,7 @@ from pywikibot.backports import removeprefix from pywikibot.comms import http from pywikibot.data import WaitingMixin -from pywikibot.exceptions import Error, NoUsernameError +from pywikibot.exceptions import Error, NoUsernameError, ServerError try: @@ -140,6 +140,8 @@ .. versionchanged:: 8.5 :exc:`exceptions.NoUsernameError` is raised if the response looks like the user is not logged in. + .. versionchanged:: 9.6 + retry on internal server error (500). :param query: Query text :raises NoUsernameError: User not logged in @@ -154,9 +156,14 @@ while True: try: self.last_response = http.fetch(url, headers=headers) - break except Timeout: - self.wait() + pass + except ServerError as e: + if not e.unicode.startswith('500'): + raise + else: + break + self.wait() try: return self.last_response.json() -- To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1087418?usp=email To unsubscribe, or for help writing mail filters, visit https://gerrit.wikimedia.org/r/settings?usp=email Gerrit-MessageType: merged Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Change-Id: I498d8b306c73edebc2f4c17f200508dde26c428e Gerrit-Change-Number: 1087418 Gerrit-PatchSet: 1 Gerrit-Owner: Xqt <i...@gno.de> Gerrit-Reviewer: Xqt <i...@gno.de> Gerrit-Reviewer: jenkins-bot
_______________________________________________ Pywikibot-commits mailing list -- pywikibot-commits@lists.wikimedia.org To unsubscribe send an email to pywikibot-commits-le...@lists.wikimedia.org