From 9b3237014dda7eb16f0ba6bd210353e89226b09e Mon Sep 17 00:00:00 2001 From: Nathan TeBlunthuis Date: Tue, 5 Aug 2025 23:20:04 -0700 Subject: [PATCH] fix a couple possible bugs. --- src/wikiq/__init__.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/wikiq/__init__.py b/src/wikiq/__init__.py index db18d83..2012e83 100755 --- a/src/wikiq/__init__.py +++ b/src/wikiq/__init__.py @@ -52,7 +52,7 @@ async def diff_async(differ, last_text, text): return differ.inline_json_diff(last_text, text) try: result = await asyncio.wait_for(_diff(), DIFF_TIMEOUT) - except asyncio.TimeoutError as e: + except TimeoutError as e: raise e return result @@ -676,11 +676,11 @@ class WikiqParser: if self.diff: last_text = last_rev_text new_diffs = [] - for text in row_buffer["text"]: + for i, text in enumerate(row_buffer["text"]): try: diff = asyncio.run(diff_async(differ, last_text, text)) - except asyncio.TimeoutError: - print(f"WARNING! wikidiff2 timeout for rev: {row_buffer['revid']}. Falling back to default limits.", file=sys.stderr) + except TimeoutError: + print(f"WARNING! wikidiff2 timeout for rev: {row_buffer['revid'][i]}. Falling back to default limits.", file=sys.stderr) diff = fast_differ.inline_json_diff(last_text, text) new_diffs.append(diff) last_text = text @@ -711,7 +711,11 @@ class WikiqParser: "Done: %s revisions and %s pages." % (rev_count, page_count), file=sys.stderr, ) - writer.close() + if self.partition_namespaces is True: + for writer in pq_writers.values(): + writer.close() + else: + writer.close() def match_archive_suffix(input_filename):