jenkins-bot has submitted this change. ( https://gerrit.wikimedia.org/r/c/pywikibot/core/+/1107088?usp=email )
Change subject: IMPR: save the talk page in asynchronous mode if ``-async`` option was given ......................................................................
IMPR: save the talk page in asynchronous mode if ``-async`` option was given
This makes the script about 3 % faster.
Change-Id: Iba54b707c7cec6886d52ff699aacae875e8573e2 --- M scripts/archivebot.py 1 file changed, 17 insertions(+), 5 deletions(-)
Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/scripts/archivebot.py b/scripts/archivebot.py index ac8b0fc..a067ed5 100755 --- a/scripts/archivebot.py +++ b/scripts/archivebot.py @@ -486,8 +486,15 @@ return len(self.header.encode('utf-8')) + sum(t.size() for t in self.threads)
- def update(self, summary, sort_threads: bool = False) -> None: - """Recombine threads and save page.""" + def update(self, + summary, *, + sort_threads: bool = False, + asynchronous: bool = False) -> None: + """Recombine threads and save page. + + .. versionchanged:: 10.0 + the *asynchronous* parameter was added. + """ if sort_threads: pywikibot.info('Sorting threads...') self.threads.sort(key=lambda t: t.timestamp) @@ -498,7 +505,7 @@ summary += ' ' + i18n.twtranslate(self.site.code, 'archivebot-archive-full') self.text = newtext - self.save(summary) + self.save(summary, asynchronous=asynchronous)
class PageArchiver: @@ -791,7 +798,12 @@ return set()
def run(self) -> None: - """Process a single DiscussionPage object.""" + """Process a single DiscussionPage object. + + .. versionchanged:: 10.0 + save the talk page in asynchronous mode if ``-async`` option + was given but archive pages are saved in synchronous mode. + """ if not self.page.botMayEdit(): return
@@ -849,7 +861,7 @@ comment = i18n.twtranslate(self.site.code, 'archivebot-page-summary', self.comment_params) - self.page.update(comment) + self.page.update(comment, asynchronous=self.asynchronous)
def process_page(page, *args: Any) -> bool:
pywikibot-commits@lists.wikimedia.org