From 7d23cc4bf54075a7475eeb2b68012c9a9f46f01b Mon Sep 17 00:00:00 2001 From: "St.Huang" Date: Fri, 27 Jul 2018 10:55:41 +0800 Subject: [PATCH] bug fixes. --- src/fastwq/gui/progress.py | 5 ----- src/fastwq/query/worker.py | 21 ++++++++++++++------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/fastwq/gui/progress.py b/src/fastwq/gui/progress.py index ee6855a..858bbc3 100644 --- a/src/fastwq/gui/progress.py +++ b/src/fastwq/gui/progress.py @@ -47,7 +47,6 @@ class ProgressWindow(object): self.app = QtGui.QApplication.instance() self._win = None self._msg_count = defaultdict(int) - self._last_number_info = u'' self._last_update = 0 self._first_time = 0 self._disabled = False @@ -74,10 +73,6 @@ class ProgressWindow(object): fails_number ) - if self._last_number_info == number_info: - return - - self._last_number_info = number_info self._update(label=number_info, value=words_number+skips_number+fails_number) self._win.adjustSize() diff --git a/src/fastwq/query/worker.py b/src/fastwq/query/worker.py index 5ccfb48..74b8f26 100644 --- a/src/fastwq/query/worker.py +++ b/src/fastwq/query/worker.py @@ -99,7 +99,8 @@ class QueryWorkerManager(object): def start(self): self.total = self.queue.qsize() - self.progress.start(self.total, min=0) + self.progress.start(max=self.total, min=0) + self.update_progress() if self.total > 1: for _ in range(0, min(config.thread_number, self.total)): self.get_worker() @@ -109,6 +110,7 @@ class QueryWorkerManager(object): else: worker = self.get_worker() worker.run() + self.update_progress() def update(self, note, results, success_num, missed_css): self.mutex.lock() @@ -128,6 +130,16 @@ class QueryWorkerManager(object): self.handle_flush(note) return False + def update_progress(self): + self.progress.update_labels(MapDict( + type='count', + words_number=self.counter, + skips_number=self.skips, + fails_number=self.fails, + fields_number=self.fields + )) + mw.app.processEvents() + def join(self): for worker in self.workers: while not worker.finished: @@ -135,12 +147,7 @@ class QueryWorkerManager(object): worker.exit = True break else: - self.progress.update_labels(MapDict( - type='count', - words_number=self.counter, - skips_number=self.skips, - fails_number=self.fails, - fields_number=self.fields)) + self.update_progress() mw.app.processEvents() worker.wait(100) self.progress.finish()