diff documentViewer.py @ 591:5850689ecfac

ocrsearch layer for images.
author casties
date Fri, 16 Nov 2012 13:41:02 +0100
parents ed4485d2748e
children eb46138db658
line wrap: on
line diff
--- a/documentViewer.py	Fri Nov 16 11:44:21 2012 +0100
+++ b/documentViewer.py	Fri Nov 16 13:41:02 2012 +0100
@@ -66,6 +66,14 @@
     
     return default
 
+def getPfForPn(docinfo, pn, default=None):
+    """returns image file name for image number or default"""
+    if 'imgFileIndexes' in docinfo:
+        pn = docinfo['imgFileIndexes'].get(pn, default)
+        return pn
+    
+    return default
+
 
 ##
 ## documentViewer class
@@ -104,6 +112,7 @@
     layer_text_gis = PageTemplateFile('zpt/layer_text_gis', globals())
     layer_text_pundit = PageTemplateFile('zpt/layer_text_pundit', globals())
     layer_image_annotator = PageTemplateFile('zpt/layer_image_annotator', globals())
+    layer_image_ocrsearch = PageTemplateFile('zpt/layer_image_ocrsearch', globals())
     layer_index_extended = PageTemplateFile('zpt/layer_index_extended', globals())
     # toc templates
     toc_thumbs = PageTemplateFile('zpt/toc_thumbs', globals())
@@ -777,12 +786,15 @@
             
         # save list of image names and numbers
         imgNames = {}
+        imgIndexes = {}
         for f in dir:
             fn = f.findtext('name')
-            pn = f.findtext('index')
-            imgNames[fn] = getInt(pn)
+            pn = getInt(f.findtext('index'))
+            imgNames[fn] = pn
+            imgIndexes[pn] = fn
             
         docinfo['imgFileNames'] = imgNames
+        docinfo['imgFileIndexes'] = imgIndexes
         return docinfo
             
             
@@ -848,6 +860,8 @@
             self.REQUEST.form['pn'] = pn
         else:
             pn = getInt(pn, 1)
+            pf = getPfForPn(docinfo, pn)
+            pageinfo['pf'] = pf
             
         pageinfo['pn'] = pn
         rows = int(rows or self.thumbrows)
@@ -890,10 +904,10 @@
                 pageinfo['pageNumberOrigNorm'] = pageNumber['non']
         
         # cache search results
-        pageinfo['resultPageSize'] = getInt(self.REQUEST.get('resultPageSize', 10))
         query = self.REQUEST.get('query',None)
         pageinfo['query'] = query
-        if query:
+        if query and viewMode == 'text':
+            pageinfo['resultPageSize'] = getInt(self.REQUEST.get('resultPageSize', 10))
             queryType = self.REQUEST.get('queryType', 'fulltextMorph')
             pageinfo['queryType'] = queryType
             pageinfo['resultStart'] = getInt(self.REQUEST.get('resultStart', '1'))
@@ -910,7 +924,7 @@
 
 
     def getPageBatch(self, start=1, rows=10, cols=2, pageFlowLtr=True, pageZero=False, minIdx=1, maxIdx=0):
-        """returns dict with array of page informations for one screenfull of thumbnails"""
+        """returns dict with array of page information for one screenfull of thumbnails"""
         batch = {}
         grpsize = rows * cols
         if maxIdx == 0: