jenkins-bot has submitted this change. ( 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1328358?usp=email )

Change subject: page: Avoid single-result generator lists
......................................................................

page: Avoid single-result generator lists

Read the first value from generators limited to one result.

Preserve empty-result handling without creating temporary lists.

Change-Id: I1c0be1e356a5ce7ba63dfaf925d14c8d4f7ba4c8
---
M pywikibot/page/_basepage.py
M pywikibot/page/_filepage.py
M pywikibot/page/_wikibase.py
3 files changed, 4 insertions(+), 5 deletions(-)

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




diff --git a/pywikibot/page/_basepage.py b/pywikibot/page/_basepage.py
index 0d55cb4..d7b4e4a 100644
--- a/pywikibot/page/_basepage.py
+++ b/pywikibot/page/_basepage.py
@@ -2320,7 +2320,7 @@
         """
         if not hasattr(self, '_has_deleted_revisions'):
             gen = self.site.deletedrevs(self, total=1, prop=['ids'])
-            self._has_deleted_revisions = bool(list(gen))
+            self._has_deleted_revisions = next(gen, None) is not None
         return self._has_deleted_revisions

     def loadDeletedRevisions(self, total: int | None = None, **kwargs):
diff --git a/pywikibot/page/_filepage.py b/pywikibot/page/_filepage.py
index bfeb036..1ed52d9 100644
--- a/pywikibot/page/_filepage.py
+++ b/pywikibot/page/_filepage.py
@@ -283,7 +283,7 @@

         .. version-added:: 7.1
         """
-        return bool(list(self.using_pages(total=1)))
+        return next(self.using_pages(total=1), None) is not None

     def upload(self, source: str, **kwargs) -> bool:
         """Upload this file to the wiki.
diff --git a/pywikibot/page/_wikibase.py b/pywikibot/page/_wikibase.py
index 7336a43..87a0217 100644
--- a/pywikibot/page/_wikibase.py
+++ b/pywikibot/page/_wikibase.py
@@ -428,11 +428,10 @@

             # avoid recursion with self.getID()
             page_id = int(self.id[1:])
-            result = list(self.repo.load_pages_from_pageids([page_id]))
-            if not result:
+            page = next(self.repo.load_pages_from_pageids([page_id]), None)
+            if page is None:
                 raise Error(f'There is no existing page with id "{page_id}"')

-            page = result.pop()
             if page.namespace() != page.site.namespaces.FILE:
                 raise Error(f'Page with id "{page_id}" is not a file')


--
To view, visit 
https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1328358?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: I1c0be1e356a5ce7ba63dfaf925d14c8d4f7ba4c8
Gerrit-Change-Number: 1328358
Gerrit-PatchSet: 2
Gerrit-Owner: Mahveotm <[email protected]>
Gerrit-Reviewer: Xqt <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
Pywikibot-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to