jenkins-bot has submitted this change and it was merged.
Change subject: Raise error when replace is done synchronously ......................................................................
Raise error when replace is done synchronously
Bug: T98707 Change-Id: Iba614480373477af41ab245d6383918f59b9d287 --- M scripts/replace.py 1 file changed, 12 insertions(+), 2 deletions(-)
Approvals: jenkins-bot: Verified Whym: Looks good to me, approved
diff --git a/scripts/replace.py b/scripts/replace.py index ff9b06f..1abd206 100755 --- a/scripts/replace.py +++ b/scripts/replace.py @@ -672,6 +672,16 @@ else: # unsuccessful pages self._pending_processed_titles.put((page.title(asLink=True), False))
+ def _replace_async_callback(self, page, err): + """Callback for asynchronous page edit.""" + self._count_changes(page, err) + + def _replace_sync_callback(self, page, err): + """Callback for synchronous page edit.""" + self._count_changes(page, err) + if isinstance(err, Exception): + raise err + def generate_summary(self, applied_replacements): """Generate a summary message for the replacements.""" # all replacements which are merged into the default message @@ -781,7 +791,7 @@ if choice == 'y': page.text = new_text page.save(summary=self.generate_summary(applied), async=True, - callback=self._count_changes, quiet=True) + callback=self._replace_async_callback, quiet=True) while not self._pending_processed_titles.empty(): proc_title, res = self._pending_processed_titles.get() pywikibot.output('Page %s%s saved' @@ -792,7 +802,7 @@ try: page.text = new_text page.save(summary=self.generate_summary(applied), - callback=self._count_changes, quiet=True) + callback=self._replace_sync_callback, quiet=True) except pywikibot.EditConflict: pywikibot.output(u'Skipping %s because of edit conflict' % (page.title(),))
pywikibot-commits@lists.wikimedia.org