[ocrfeeder/new_fixes: 8/10] fix async completion issues on recognition finish
- From: Joaquim Manuel Pereira Rocha <jrocha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ocrfeeder/new_fixes: 8/10] fix async completion issues on recognition finish
- Date: Mon, 1 Oct 2012 19:51:28 +0000 (UTC)
commit a6b0f7a6a67edde17a309a0a417919f369ca0728
Author: Jan Losinski <losinski wh2 tu-dresden de>
Date: Fri Jul 27 15:22:32 2012 +0200
fix async completion issues on recognition finish
ensure that we have the last __performRecognitionForPageFinishedCb when
calling __updateImageReviewers()
Signed-off-by: Jan Losinski <losinski wh2 tu-dresden de>
src/ocrfeeder/studio/widgetModeler.py | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
---
diff --git a/src/ocrfeeder/studio/widgetModeler.py b/src/ocrfeeder/studio/widgetModeler.py
index 7e77b7a..e5b7887 100644
--- a/src/ocrfeeder/studio/widgetModeler.py
+++ b/src/ocrfeeder/studio/widgetModeler.py
@@ -415,6 +415,9 @@ def _performRecognitionForPage(page, configuration_manager, ocr_engine):
page.resolution[1])
+_pages_recognized_count_lock = threading.RLock()
+
+
class ImageReviewer_Controler:
REVIEWER_CACHE_LENGTH = 5
@@ -635,6 +638,7 @@ class ImageReviewer_Controler:
self.__confirmOveritePossibilityByRecognition() != gtk.RESPONSE_YES:
return
dialog.setItemsList(items)
+ self._pages_recognized_count = 0
dialog.run()
def __getConfiguredOcrEngine(self):
@@ -647,9 +651,12 @@ class ImageReviewer_Controler:
pages_to_process,
data_boxes, error):
page.data_boxes = data_boxes
- if dialog.worker.done:
- dialog.cancel()
- self.__updateImageReviewers()
+
+ with _pages_recognized_count_lock:
+ if dialog.worker.done and self._pages_recognized_count == (len(pages_to_process) - 1):
+ dialog.cancel()
+ self.__updateImageReviewers()
+ self._pages_recognized_count +=1
def copyRecognizedTextToClipboard(self, widget):
image_reviewer = self.__getCurrentReviewer()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]