jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/699439 )
Change subject: [IMPR] decrease nested flow in Page.delete() ......................................................................
[IMPR] decrease nested flow in Page.delete()
Change-Id: I6315ff0a2223f6a56aa021c08504d4cd8ec9e2fc --- M pywikibot/page/__init__.py 1 file changed, 21 insertions(+), 23 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
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.
pywikibot-commits@lists.wikimedia.org