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

Reply via email to