Changeset 617:7aefbddddaf9 in documentViewer


Ignore:
Timestamp:
Jul 23, 2014, 3:36:04 PM (10 years ago)
Author:
dwinter
Branch:
default
Message:

alpaha of hocr server support

Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • __init__.py

    r564 r615  
    22import MpdlXmlTextServer
    33import MpiwgXmlTextServer
     4import HocrTextServer
    45
    56def initialize(context):
     
    2930        )
    3031   
     32   
     33    context.registerClass(
     34        HocrTextServer.HocrTextServer,
     35        constructors = (
     36          HocrTextServer.manage_addHocrTextServerForm,
     37          HocrTextServer.manage_addHocrTextServer
     38          )
     39        )
     40
     41   
  • css/docuviewer.css

    r611 r615  
    474474        color: gray;
    475475}
     476
     477span.ocr_line {
     478display:block;
     479}
  • documentViewer.py

    r613 r617  
    2222def getMDText(node):
    2323    """returns the @text content from the MetaDataProvider metadata node"""
     24
     25   
     26
    2427    if isinstance(node, dict):
    2528        return node.get('@text', None)
    2629   
     30    if isinstance(node,list): #more than one text file if there is an attribute don't choose it
     31        for nodeInList in node:
     32            attr = nodeInList.get("@attr",None)
     33            if attr is None:
     34                return node.get('@text',None)
     35        return None
     36
     37
     38
    2739    return node
    2840
     
    8395    # viewMode templates
    8496    viewer_text = PageTemplateFile('zpt/viewer/viewer_text', globals())
     97    viewer_hocr = PageTemplateFile('zpt/viewer/viewer_hocr', globals())
    8598    viewer_xml = PageTemplateFile('zpt/viewer/viewer_xml', globals())
    8699    viewer_image = PageTemplateFile('zpt/viewer/viewer_image', globals())
     
    165178    def getTextPage(self, **args):
    166179        """returns full text content of page"""
     180       
    167181        return self.template.fulltextclient.getTextPage(**args)
     182   
     183   
     184   
    168185
    169186    def getSearchResults(self, **args):
     
    240257        @param url: url which contains display information
    241258        @param mode: defines how to access the document behind url
    242         @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto'
     259        @param viewMode: 'image': display images, 'text': display text, 'xml': display xml, default is 'auto', 'hocr' : hocr format
    243260        @param viewLayer: sub-type of viewMode, e.g. layer 'dict' for viewMode='text'
    244261        @param tocMode: type of 'table of contents' for navigation (thumbs, text, figures, none)
     
    251268            logging.error("template folder missing!")
    252269            return "ERROR: template folder missing!"
    253            
     270       
     271       
     272
    254273        if not getattr(self, 'digilibBaseUrl', None):
    255274            self.digilibBaseUrl = self.findDigilibUrl() or "http://digilib.mpiwg-berlin.mpg.de/digitallibrary"
     
    288307            viewMode = 'image'
    289308            self.REQUEST['viewMode'] = 'image'
     309           
     310       
     311           
    290312
    291313        # safe viewLayer in userinfo
     
    533555            metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
    534556            docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1)
     557           
     558        elif mode=="hocr":
     559            # url points to folder with images, index.meta optional
     560            # asssume index.meta in parent dir
     561            docUrl = getParentPath(url)
     562            metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
     563            docinfo['imagePath'] = url.replace('/mpiwg/online', '', 1)
     564            docinfo['textURLPath'] = url.replace('/mpiwg/online', '', 1)
     565            if docinfo.get("creator", None) is None:
     566                docinfo['creator'] = ""
     567           
     568            if docinfo.get("title", None) is None:
     569                docinfo['title'] = ""
     570
     571            if docinfo.get("documentPath", None) is None:
     572                docinfo['documentPath'] = url.replace('/mpiwg/online', '', 1)
     573                docinfo['documentPath'] = url.replace('/pages', '', 1)
    535574
    536575        elif mode=="filepath":
     
    726765        # old style text URL
    727766        textUrl = getMDText(texttool.get('text', None))
     767
     768       
     769
     770
    728771        if textUrl and docPath:
    729772            if urlparse.urlparse(textUrl)[0] == "": #keine url
  • zpt/viewer/layer_text_annotator.zpt

    r601 r615  
    55<metal:block metal:define-macro="html_head" tal:condition="python:'annotator' in viewLayers">
    66  <!--  annotator -->
     7 <link rel="stylesheet" type="text/css"
     8    tal:attributes="href string:$rootUrl/template/annotator_files/css/style.css" />
     9
    710  <link rel="stylesheet" type="text/css"
    811    tal:attributes="href string:$rootUrl/template/annotator_files/css/annotator.css" />
     12
    913
    1014  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/vendor/json2.js"></script>
     
    1519  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/range.js"></script>
    1620  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/annotator.js"></script>
     21  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/locale/en/annotator.js"></script>
     22 
     23 
    1724  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/widget.js"></script>
    1825  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/editor.js"></script>
     
    2532  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/markdown.js"></script>
    2633  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/unsupported.js"></script>
     34 
     35  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery.dateFormat.js"></script>
     36  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery.slimscroll.js"></script>
     37  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/jquery-i18n-master/jquery.i18n.min.js"></script>
     38  <script type="text/javascript" tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/view_annotator.js"></script>
     39   
     40 
    2741  <!-- <script tal:attributes="src string:$rootUrl/template/annotator_files/lib/plugin/filter.js"></script> -->
    2842
     
    4559            $(document).ready(function() {
    4660                // annotator
     61             
     62
     63                jQuery.i18n.load(i18n_dict);
    4764                var elem = $('div.pageContent').get(0);
    4865                var uri = annotatorPageUrl;
     
    7996                        'uri' : uri
    8097                    }
    81                 }).addPlugin('Tags').addPlugin('Markdown');
     98                }).addPlugin('Tags').addPlugin('Markdown').addPlugin('AnnotatorViewer');
     99               
     100                $('#anotacions-uoc-panel').slimscroll({height: '100%'});
    82101            });
    83102        // -->
Note: See TracChangeset for help on using the changeset viewer.