From 711858ce2c5935cfbfd36e05055c4a3574f5ad61 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 20 Nov 2025 23:29:23 +0000 Subject: [PATCH] Address final code review nitpicks: improve code organization Co-authored-by: denizsafak <39929354+denizsafak@users.noreply.github.com> --- abogen/conversion.py | 6 +++++- test_performance.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/abogen/conversion.py b/abogen/conversion.py index aedcd96..8bb17ab 100644 --- a/abogen/conversion.py +++ b/abogen/conversion.py @@ -28,6 +28,9 @@ import threading # for efficient waiting import subprocess import platform +# Configuration constants +_USER_RESPONSE_TIMEOUT = 0.1 # Timeout in seconds for checking user response/cancellation + # Pre-compile frequently used regex patterns for better performance _METADATA_TAG_PATTERN = re.compile(r"<]*>>") _CHAPTER_MARKER_PATTERN = re.compile(r"<]*>>") @@ -875,10 +878,11 @@ class ConversionThread(QThread): # Signal to ask user (-1 indicates timestamp detection) self.chapters_detected.emit(-1) # Wait for user response using event with timeout for responsive cancellation - while not self._timestamp_response_event.wait(timeout=0.1): + while not self._timestamp_response_event.wait(timeout=_USER_RESPONSE_TIMEOUT): if self.cancel_requested: self.conversion_finished.emit("Cancelled", None) return + # Check cancellation one more time after event is set if self.cancel_requested: self.conversion_finished.emit("Cancelled", None) return diff --git a/test_performance.py b/test_performance.py index 76531d3..c17255a 100644 --- a/test_performance.py +++ b/test_performance.py @@ -9,6 +9,7 @@ are working correctly and don't introduce regressions. import re import time import sys +import traceback def test_regex_precompilation_performance(): @@ -213,7 +214,6 @@ def main(): return 1 except Exception as e: print(f"\n❌ Unexpected error: {e}") - import traceback traceback.print_exc() return 1