jenkins-bot has submitted this change and it was merged.
Change subject: [FIX] Do not create a redirect loop while solving a broken redirects ......................................................................
[FIX] Do not create a redirect loop while solving a broken redirects
- use redir_page to compare with movedTarget - deletion request if redirect target could not be recovered - new logic for final statement
Bug: T107695 Change-Id: I69f0da50ed2f9a6bf27337ab797a6b99e1ada50f --- M scripts/redirect.py 1 file changed, 8 insertions(+), 4 deletions(-)
Approvals: Merlijn van Deen: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/redirect.py b/scripts/redirect.py index 81ad431..c955f2b 100755 --- a/scripts/redirect.py +++ b/scripts/redirect.py @@ -403,6 +403,7 @@ redir_page = redir_name # Show the title of the page we're working on. # Highlight the title in purple. + done = not self.getOption('delete') pywikibot.output(u"\n\n>>> \03{lightpurple}%s\03{default} <<<" % redir_page.title()) try: @@ -433,8 +434,9 @@ # FIXME: Test to another move pywikibot.output(u'Target page %s does not exist' % (movedTarget)) - elif redir_name == movedTarget.title(): - pywikibot.output(u'Target page forms a redirect loop') + elif redir_page == movedTarget: + pywikibot.output( + 'Redirect to target page forms a redirect loop') else: pywikibot.output(u'%s has been moved to %s' % (redir_page, movedTarget)) @@ -462,7 +464,9 @@ % redir_page.title()) except pywikibot.OtherPageSaveError: pywikibot.exception() - elif self.getOption('delete') and self.user_confirm( + else: + done = True + if not done and self.user_confirm( u'Redirect target %s does not exist.\n' u'Do you want to delete %s?' % (targetPage.title(asLink=True), @@ -493,7 +497,7 @@ else: pywikibot.output( u'No speedy deletion template available') - else: + elif not (self.getOption('delete') or movedTarget): pywikibot.output(u'Cannot fix or delete the broken redirect') except pywikibot.IsRedirectPage: pywikibot.output(u"Redirect target %s is also a redirect! "
pywikibot-commits@lists.wikimedia.org