jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/823219 )
Change subject: [IMPR] support *not* loading text site.preloadpages(). ......................................................................
[IMPR] support *not* loading text site.preloadpages().
Support *not* loading text of a page.
Bug: T67163 Change-Id: I65a2b58d8c8d20dd92eed6632a363bf3dca0c83f --- M pywikibot/site/_generators.py M tests/site_tests.py 2 files changed, 14 insertions(+), 2 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/pywikibot/site/_generators.py b/pywikibot/site/_generators.py index 7b1259f..aad1b86 100644 --- a/pywikibot/site/_generators.py +++ b/pywikibot/site/_generators.py @@ -93,7 +93,8 @@ groupsize: int = 50, templates: bool = False, langlinks: bool = False, - pageprops: bool = False + pageprops: bool = False, + content: bool = True ): """Return a generator to a list of preloaded pages.
@@ -107,6 +108,7 @@ :param langlinks: preload all language links from the provided pages to other languages :param pageprops: preload various properties defined in page content + :param content: preload page content """ props = 'revisions|info|categoryinfo' if templates: @@ -140,7 +142,7 @@ rvgen.request['pageids'] = set(pageids) else: rvgen.request['titles'] = list(cache.keys()) - rvgen.request['rvprop'] = self._rvprops(content=True) + rvgen.request['rvprop'] = self._rvprops(content=content) pywikibot.output('Retrieving {} pages from {}.' .format(len(cache), self))
diff --git a/tests/site_tests.py b/tests/site_tests.py index c3f488e..32ae187 100755 --- a/tests/site_tests.py +++ b/tests/site_tests.py @@ -3183,6 +3183,16 @@ if count >= 5: break
+ def test_preload_content(self): + """Test preloading templates and langlinks works.""" + mysite = self.get_site() + + page = next(mysite.preloadpages([self.get_mainpage()], content=False)) + self.assertFalse(page.has_content()) + + page = next(mysite.preloadpages([self.get_mainpage()], content=True)) + self.assertTrue(page.has_content()) +
class TestSametitleSite(TestCase):
pywikibot-commits@lists.wikimedia.org