[ocrfeeder: 8/15] Move getTextFromBoxes function to the page class



commit d7fa203f7cccf88fed094f7f3d6bbb6e116bc857
Author: Joaquim Rocha <jrocha igalia com>
Date:   Sat Oct 6 16:16:43 2012 +0200

    Move getTextFromBoxes function to the page class

 src/ocrfeeder/studio/dataHolder.py    |   13 +++++++++++++
 src/ocrfeeder/studio/widgetModeler.py |   19 ++++---------------
 2 files changed, 17 insertions(+), 15 deletions(-)
---
diff --git a/src/ocrfeeder/studio/dataHolder.py b/src/ocrfeeder/studio/dataHolder.py
index 82c89cd..5860f55 100644
--- a/src/ocrfeeder/studio/dataHolder.py
+++ b/src/ocrfeeder/studio/dataHolder.py
@@ -214,6 +214,19 @@ class PageData:
         dictionary['data_boxes'] = data_boxes_converted
         return {'PageData': dictionary}
 
+    def getTextFromBoxes(self, data_boxes=None):
+        text = ''
+        if data_boxes is None:
+            data_boxes = self.data_boxes
+        number_of_boxes = len(data_boxes)
+        for i in range(number_of_boxes):
+            data_box = data_boxes[i]
+            if data_box and data_box.getType() != TEXT_TYPE:
+                continue
+            text += data_box.getText()
+            if number_of_boxes > 1 and i < number_of_boxes - 1:
+                text += '\n\n'
+        return text
 
 def create_images_dict_from_liststore(list_store):
     images_dict = {}
diff --git a/src/ocrfeeder/studio/widgetModeler.py b/src/ocrfeeder/studio/widgetModeler.py
index 072e21c..24d9981 100644
--- a/src/ocrfeeder/studio/widgetModeler.py
+++ b/src/ocrfeeder/studio/widgetModeler.py
@@ -333,10 +333,13 @@ class ImageReviewer(gtk.HPaned):
 
     def getTextFromBoxes(self, boxes):
         text = ''
+        # todo: Implement a proper way to get the boxes
+        # in reading order
         boxes.reverse()
         self.editor.saveDataBox()
         if boxes:
-            text = getTextFromBoxes([self.boxes_dict.get(box) for box in boxes])
+            text = self.page.getTextFromBoxes(
+                [self.boxes_dict.get(box) for box in boxes])
         else:
             if self.editor.box_editor.getType() == TEXT_TYPE:
                 text = self.box_editor.getText()
@@ -1148,17 +1151,3 @@ class Editor:
         else:
             self.reviewer.main_window.copy_to_clipboard_menu.set_sensitive(True)
             self.reviewer.main_window.spellchecker_menu.set_sensitive(True)
-
-
-# Helper function to get text from data boxes
-def getTextFromBoxes(data_boxes):
-    text = ''
-    number_of_boxes = len(data_boxes)
-    for i in range(number_of_boxes):
-        data_box = data_boxes[i]
-        if data_box and data_box.getType() != TEXT_TYPE:
-            continue
-        text += data_box.getText()
-        if number_of_boxes > 1 and i < number_of_boxes - 1:
-            text += '\n\n'
-    return text



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]