jenkins-bot submitted this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[IMPR] decrease nested flow in Page.delete()

Change-Id: I6315ff0a2223f6a56aa021c08504d4cd8ec9e2fc
---
M pywikibot/page/__init__.py
1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index 6502954..628eb62 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -1756,32 +1756,30 @@
self.site._noDeletePrompt = True
if answer == 'y':
self.site.delete(self, reason)
- return
+ return

- else: # Otherwise mark it for deletion
- if mark or hasattr(self.site, '_noMarkDeletePrompt'):
+ # Otherwise mark it for deletion
+ if mark or hasattr(self.site, '_noMarkDeletePrompt'):
+ answer = 'y'
+ else:
+ answer = pywikibot.input_choice(
+ "Can't delete {}; do you want to mark it for deletion instead?"
+ .format(self),
+ [('Yes', 'y'), ('No', 'n'), ('All', 'a')],
+ 'n', automatic_quit=False)
+ if answer == 'a':
answer = 'y'
+ self.site._noMarkDeletePrompt = True
+ if answer == 'y':
+ template = '{{delete|1=%s}}\n' % reason
+ # We can't add templates in a wikidata item, so let's use its
+ # talk page
+ if isinstance(self, pywikibot.ItemPage):
+ target = self.toggleTalkPage()
else:
- answer = pywikibot.input_choice(
- "Can't delete {}; do you want to mark it "
- 'for deletion instead?'
- .format(self.title(as_link=True, force_interwiki=True)),
- [('Yes', 'y'), ('No', 'n'), ('All', 'a')],
- 'n', automatic_quit=False)
- if answer == 'a':
- answer = 'y'
- self.site._noMarkDeletePrompt = True
- if answer == 'y':
- template = '{{delete|1=%s}}\n' % reason
- # We can't add templates in a wikidata item, so let's use its
- # talk page
- if isinstance(self, pywikibot.ItemPage):
- talk = self.toggleTalkPage()
- talk.text = template + talk.text
- talk.save(summary=reason)
- else:
- self.text = template + self.text
- self.save(summary=reason)
+ target = self
+ target.text = template + target.text
+ target.save(summary=reason)

def has_deleted_revisions(self) -> bool:
"""Return True if the page has deleted revisions.

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

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Change-Id: I6315ff0a2223f6a56aa021c08504d4cd8ec9e2fc
Gerrit-Change-Number: 699439
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info@gno.de>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot
Gerrit-MessageType: merged