jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/833998 )
Change subject: [IMPR] decrease nested flow in CategoryPreprocess.determine_type_target ......................................................................
[IMPR] decrease nested flow in CategoryPreprocess.determine_type_target
Change-Id: If1f62727b6a40aea83d820a9efcf6e3d38e3239c --- M scripts/category.py 1 file changed, 27 insertions(+), 25 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/category.py b/scripts/category.py index cb04077..7c8cfc7 100755 --- a/scripts/category.py +++ b/scripts/category.py @@ -199,46 +199,48 @@ self.edit_redirects = edit_redirects self.create = create
- def determine_type_target(self, page) -> Optional[pywikibot.Page]: + def determine_type_target( + self, + page: pywikibot.Page + ) -> Optional[pywikibot.Page]: """ Return page to be categorized by type.
:param page: Existing, missing or redirect page to be processed. - :type page: pywikibot.Page :return: Page to be categorized. """ if page.exists(): - if page.isRedirectPage(): - # if it is a redirect, use the redirect target instead - redir_target = page.getRedirectTarget() - if self.follow_redirects: - if redir_target.exists(): - return redir_target + if not page.isRedirectPage(): + return page
- if self.create: - redir_target.text = '' - pywikibot.output('Redirect target {} does not exist ' - 'yet; creating.'.format( - redir_target.title(as_link=True))) - return redir_target + # if it is a redirect, use the redirect target instead + redir_target = page.getRedirectTarget() + if self.follow_redirects: + if redir_target.exists(): + return redir_target
- if self.edit_redirects: - return page - - pywikibot.warning( - 'Redirect target {} cannot be modified; skipping.' - .format(redir_target)) - return None + if self.create: + redir_target.text = '' + pywikibot.output('Redirect target {} does not exist yet; ' + 'creating.'.format( + redir_target.title(as_link=True))) + return redir_target
if self.edit_redirects: return page
- pywikibot.warning('Page {} is a redirect to {}; skipping.' - .format(page.title(as_link=True), - redir_target.title(as_link=True))) + pywikibot.warning( + 'Redirect target {} cannot be modified; skipping.' + .format(redir_target)) return None
- return page + if self.edit_redirects: + return page + + pywikibot.warning('Page {} is a redirect to {}; skipping.' + .format(page.title(as_link=True), + redir_target.title(as_link=True))) + return None
if self.create: page.text = ''
pywikibot-commits@lists.wikimedia.org