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

Reply via email to