Strainu has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/370359 )
Change subject: Page: add support for retrieving the page image ...................................................................... Page: add support for retrieving the page image Bug: T172625 Change-Id: I1fea9c17aaea560765dc76787ac9475d6cd5d4e4 --- M pywikibot/data/api.py M pywikibot/page.py M pywikibot/site.py 3 files changed, 30 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core refs/changes/59/370359/1 diff --git a/pywikibot/data/api.py b/pywikibot/data/api.py index 7f4c80b..64c693b 100644 --- a/pywikibot/data/api.py +++ b/pywikibot/data/api.py @@ -3242,6 +3242,9 @@ coords.append(coord) page._coords = coords + if "pageimage" in pagedict: + page._pageimage = pywikibot.FilePage(page.site, pagedict['pageimage']) + if "pageprops" in pagedict: page._pageprops = pagedict['pageprops'] diff --git a/pywikibot/page.py b/pywikibot/page.py index bb8b224..344a2ff 100644 --- a/pywikibot/page.py +++ b/pywikibot/page.py @@ -162,7 +162,8 @@ '_text', '_pageid', '_catinfo', '_templates', '_protection', '_contentmodel', '_langlinks', '_isredir', '_coords', '_preloadedtext', '_timestamp', '_applicable_protections', - '_flowinfo', '_quality', '_pageprops', '_revid', '_quality_text' + '_flowinfo', '_quality', '_pageprops', '_revid', '_quality_text', + '_pageimage' ) def __init__(self, source, title=u"", ns=0): @@ -1622,6 +1623,21 @@ else: return self._coords + def pageImage(self): + """ + Return a most appropriate image on the page. + + Uses the MediaWiki extension PageImages. + + @return: A FilePage object + @rtype: FilePage + """ + if not hasattr(self, '_pageimage'): + self._pageimage = None + self.site.loadpageimages(self) + + return self._pageimage + def getRedirectTarget(self): """ Return a Page object for the target this Page redirects to. diff --git a/pywikibot/site.py b/pywikibot/site.py index e2bc6cc..84e542f 100644 --- a/pywikibot/site.py +++ b/pywikibot/site.py @@ -2978,6 +2978,16 @@ coprimary='all') self._update_page(page, query) + def loadpageimages(self, page): + """Load [[mw:Extension:PageImages]] info.""" + title = page.title(withSection=False) + query = self._generator(api.PropertyGenerator, + type_arg="pageimages", + titles=title.encode(self.encoding()), + piprop=['name'], + pithumbsize='50') + self._update_page(page, query) + def loadpageprops(self, page): """Load page props for the given page.""" title = page.title(withSection=False) -- To view, visit https://gerrit.wikimedia.org/r/370359 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1fea9c17aaea560765dc76787ac9475d6cd5d4e4 Gerrit-PatchSet: 1 Gerrit-Project: pywikibot/core Gerrit-Branch: master Gerrit-Owner: Strainu <w...@strainu.ro> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits