jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/845032 )

Change subject: [IMPR] Avoid to many return statements in 
QueryGenerator.generator property
......................................................................

[IMPR] Avoid to many return statements in QueryGenerator.generator property

Change-Id: I2a974eb70127fe2dda930451df0e20a09dd86215
---
M pywikibot/data/api/_generators.py
1 file changed, 14 insertions(+), 6 deletions(-)

Approvals:
  Matěj Suchánek: Looks good to me, approved
  Xqt: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/pywikibot/data/api/_generators.py 
b/pywikibot/data/api/_generators.py
index 5e6daa2..8164754 100644
--- a/pywikibot/data/api/_generators.py
+++ b/pywikibot/data/api/_generators.py
@@ -605,13 +605,15 @@
         while True:
             prev_limit, new_limit = self._handle_query_limit(
                 prev_limit, new_limit, previous_result_had_data)
+
             if not hasattr(self, 'data'):
                 self.data = self.request.submit()
+
             if not self.data or not isinstance(self.data, dict):
                 pywikibot.debug(
                     '{}: stopped iteration because no dict retrieved from api.'
                     .format(type(self).__name__))
-                return
+                break

             if 'query' in self.data and self.resultkey in self.data['query']:
                 resultdata = self._get_resultdata()
@@ -621,10 +623,12 @@
                         for item in self.data['query']['normalized']}
                 else:
                     self.normalized = {}
+
                 try:
                     yield from self._extract_results(resultdata)
                 except RuntimeError:
-                    return
+                    break
+
                 # self.resultkey in data in last request.submit()
                 previous_result_had_data = True
             else:
@@ -632,23 +636,27 @@
                     pywikibot.log("%s: 'query' not found in api response." %
                                   self.__class__.__name__)
                     pywikibot.log(str(self.data))
+
                 # if (query-)continue is present, self.resultkey might not have
                 # been fetched yet
                 if self.continue_name not in self.data:
-                    # No results.
-                    return
+                    break  # No results.
+
                 # self.resultkey not in data in last request.submit()
                 # only "(query-)continue" was retrieved.
                 previous_result_had_data = False
+
             if self.modules[0] == 'random':
                 # "random" module does not return "(query-)continue"
                 # now we loop for a new random query
                 del self.data  # a new request is needed
                 continue
+
             if self.continue_name not in self.data:
-                return
+                break
+
             if self.continue_update():
-                return
+                break

             del self.data  # a new request with (query-)continue is needed


--
To view, visit https://gerrit.wikimedia.org/r/c/pywikibot/core/+/845032
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.wikimedia.org/r/settings

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I2a974eb70127fe2dda930451df0e20a09dd86215
Gerrit-Change-Number: 845032
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <[email protected]>
Gerrit-Reviewer: Matěj Suchánek <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to