jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/567213 )

Change subject: [bugfix] Fix UnboundLocalError in ProofreadPage._ocr_callback
......................................................................

[bugfix] Fix UnboundLocalError in ProofreadPage._ocr_callback

- use for statement instead of while
- return if loop is processed completely with 5 retries
  and do not continue the method because response is not fetched
- move sleep statement out of exception handling; probably other
  exceptions can also have retries in future

Bug: T243644
Change-Id: Id3601ea4678a3a0ab158a942644d792e46c7cea5
---
M pywikibot/proofreadpage.py
1 file changed, 7 insertions(+), 5 deletions(-)

Approvals:
  Dvorapa: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/proofreadpage.py b/pywikibot/proofreadpage.py
index 5ca3dfd..662cba0 100644
--- a/pywikibot/proofreadpage.py
+++ b/pywikibot/proofreadpage.py
@@ -599,17 +599,14 @@
                 (self._OCR_METHODS, ocr_tool))

         # wrong link fail with Exceptions
-        retry = 0
-        while retry < 5:
+        for retry in range(5, 30, 5):
             pywikibot.debug('{0}: get URI {1!r}'.format(ocr_tool, cmd_uri),
                             _logger)
             try:
                 response = http.fetch(cmd_uri)
             except requests.exceptions.ReadTimeout as e:
-                retry += 1
+                timeout = e
                 pywikibot.warning('ReadTimeout %s: %s' % (cmd_uri, e))
-                pywikibot.warning('retrying in %s seconds ...' % (retry * 5))
-                time.sleep(retry * 5)
             except Exception as e:
                 pywikibot.error('"%s": %s' % (cmd_uri, e))
                 return (True, e)
@@ -618,6 +615,11 @@
                                 _logger)
                 break

+            pywikibot.warning('retrying in {} seconds ...'.format(retry))
+            time.sleep(retry)
+        else:
+            return True, timeout
+
         if 400 <= response.status < 600:
             return (True, 'Http response status {0}'.format(response.status))


--
To view, visit https://gerrit.wikimedia.org/r/567213
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Id3601ea4678a3a0ab158a942644d792e46c7cea5
Gerrit-Change-Number: 567213
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Dvorapa <[email protected]>
Gerrit-Reviewer: jenkins-bot (75)
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits

Reply via email to