jenkins-bot has submitted this change and it was merged.
Change subject: Page.latest_revision property
......................................................................
Page.latest_revision property
Also pep8-ified a few revision related properties.
Change-Id: I3e0caa081e9f2e0f06d2d814199531c8af739644
---
M pywikibot/page.py
M pywikibot/pagegenerators.py
2 files changed, 27 insertions(+), 17 deletions(-)
Approvals:
Nullzero: Looks good to me, approved
jenkins-bot: Verified
diff --git a/pywikibot/page.py b/pywikibot/page.py
index cc094bf..68bfd5c 100644
--- a/pywikibot/page.py
+++ b/pywikibot/page.py
@@ -338,7 +338,7 @@
if not get_redirect:
raise
- return self._revisions[self._revid].text
+ return self.latest_revision.text
def _getInternals(self, sysop):
"""Helper function for get().
@@ -396,11 +396,24 @@
self.title(asUrl=True),
(oldid if oldid is not None else self.latestRevision()))
- def latestRevision(self):
+ @property
+ def latest_revision_id(self):
"""Return the current revision id for this page."""
if not hasattr(self, '_revid'):
self.site.loadrevisions(self)
return self._revid
+
+ def latestRevision(self):
+ """Return the current revision id for this page."""
+ return self.latest_revision_id
+
+ @property
+ def latest_revision(self):
+ """Return the current revision for this page."""
+ rev = self.latest_revision_id
+ if rev not in self._revisions:
+ self.site.loadrevisions(self)
+ return self._revisions[rev]
@property
def text(self):
@@ -491,20 +504,14 @@
@return: unicode
"""
- rev = self.latestRevision()
- if rev not in self._revisions:
- self.site.loadrevisions(self)
- return self._revisions[rev].user
+ return self.latest_revision.user
def isIpEdit(self):
"""Return True if last editor was unregistered.
@return: bool
"""
- rev = self.latestRevision()
- if rev not in self._revisions:
- self.site.loadrevisions(self)
- return self._revisions[rev].anon
+ return self.latest_revision.anon
def lastNonBotUser(self):
"""Return name or IP address of last human/non-bot user to edit page.
@@ -529,17 +536,16 @@
return self._lastNonBotUser
+ @deprecated_args(datetime=None)
def editTime(self):
"""Return timestamp of last revision to page.
- @return: pywikibot.Timestamp
+ @rtype: pywikibot.Timestamp
"""
- rev = self.latestRevision()
- if rev not in self._revisions:
- self.site.loadrevisions(self)
- return self._revisions[rev].timestamp
+ return self.latest_revision.timestamp
- def previousRevision(self):
+ @property
+ def previous_revision_id(self):
"""Return the revision id for the previous revision of this Page.
If the page has only one revision, it shall return -1.
@@ -553,6 +559,9 @@
else:
return min(x.revid for x in history)
+ def previousRevision(self):
+ return self.previous_revision_id
+
def exists(self):
"""Return True if page exists on the wiki, even if it's a redirect.
@@ -563,6 +572,7 @@
"""
return self.site.page_exists(self)
+ @property
def oldest_revision(self):
return self.getVersionHistory(reverseOrder=True, total=1)[0]
diff --git a/pywikibot/pagegenerators.py b/pywikibot/pagegenerators.py
index cc37416..f2e8360 100644
--- a/pywikibot/pagegenerators.py
+++ b/pywikibot/pagegenerators.py
@@ -1149,7 +1149,7 @@
continue
if do_first_edit:
- first_edit = page.oldest_revision().timestamp
+ first_edit = page.oldest_revision.timestamp
if first_edit < first_edit_start:
if show_filtered:
--
To view, visit https://gerrit.wikimedia.org/r/172511
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I3e0caa081e9f2e0f06d2d814199531c8af739644
Gerrit-PatchSet: 4
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <[email protected]>
Gerrit-Reviewer: John Vandenberg <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Merlijn van Deen <[email protected]>
Gerrit-Reviewer: Nullzero <[email protected]>
Gerrit-Reviewer: XZise <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
Pywikibot-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-commits