John Vandenberg has uploaded a new change for review.
https://gerrit.wikimedia.org/r/172511
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
1 file changed, 28 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core
refs/changes/11/172511/1
diff --git a/pywikibot/page.py b/pywikibot/page.py
index 961fe6f..8c82395 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,12 @@
else:
return min(x.revid for x in history)
+ def previousRevision(self):
+ return self.previous_revision_id
+
+ def oldest_revision(self):
+ return self.getVersionHistory(reverseOrder=True, total=1)[0]
+
def exists(self):
"""Return True if page exists on the wiki, even if it's a redirect.
--
To view, visit https://gerrit.wikimedia.org/r/172511
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3e0caa081e9f2e0f06d2d814199531c8af739644
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: John Vandenberg <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits