jenkins-bot submitted this change.

View Change

Approvals: JJMC89: Looks good to me, approved jenkins-bot: Verified
[FEAT] Add BasePage.has_deleted_revisions()

Also allow passing arguments to site.deletedrevs() in other
deleted revision methods via kwargs.

Depends-On: Ie2e8258e9e00170821f9fe817093e03d69a6c706
Change-Id: I91dcfcd00aba6973d21faed38357aa88976f3cf6
---
M pywikibot/page/__init__.py
1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index bee913d..08dfa29 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -1869,8 +1869,15 @@
self.text = template + self.text
self.save(summary=reason)

+ def has_deleted_revisions(self) -> bool:
+ """Return True if the page has deleted revisions."""
+ if not hasattr(self, '_has_deleted_revisions'):
+ gen = self.site.deletedrevs(self, total=1, prop=['ids'])
+ self._has_deleted_revisions = bool(list(gen))
+ return self._has_deleted_revisions
+
@deprecated_args(step=True)
- def loadDeletedRevisions(self, total=None):
+ def loadDeletedRevisions(self, total=None, **kwargs):
"""
Retrieve deleted revisions for this Page.

@@ -1883,13 +1890,13 @@
"""
if not hasattr(self, '_deletedRevs'):
self._deletedRevs = {}
- for item in self.site.deletedrevs(self, total=total):
+ for item in self.site.deletedrevs(self, total=total, **kwargs):
for rev in item.get('revisions', []):
self._deletedRevs[rev['timestamp']] = rev
yield rev['timestamp']

@deprecated_args(retrieveText='content')
- def getDeletedRevision(self, timestamp, content=False) -> list:
+ def getDeletedRevision(self, timestamp, content=False, **kwargs) -> List:
"""
Return a particular deleted revision by timestamp.

@@ -1905,7 +1912,7 @@
return self._deletedRevs[timestamp]

for item in self.site.deletedrevs(self, start=timestamp,
- content=content, total=1):
+ content=content, total=1, **kwargs):
# should only be one item with one revision
if item['title'] == self.title:
if 'revisions' in item:

To view, visit change 623235. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I91dcfcd00aba6973d21faed38357aa88976f3cf6
Gerrit-Change-Number: 623235
Gerrit-PatchSet: 5
Gerrit-Owner: JJMC89 <JJMC89.Wikimedia@gmail.com>
Gerrit-Reviewer: JJMC89 <JJMC89.Wikimedia@gmail.com>
Gerrit-Reviewer: Matěj Suchánek <matejsuchanek97@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged