Changeset 583:ca0274423382 in documentViewer


Ignore:
Timestamp:
Nov 12, 2012, 5:12:33 PM (11 years ago)
Author:
casties
Branch:
default
Message:

follow changes in html format of new text-backend.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • MpiwgXmlTextServer.py

    r579 r583  
    296296                    self._addPunditAttributes(pagediv, pageinfo, docinfo)
    297297                   
    298                 # TODO: move empty page text
    299                 ep = dom.find(".//div[@class='emptyPage']")
    300                 if ep is not None:
    301                     pagediv.append(ep)
    302                  
    303298                s = serialize(pagediv)
    304299                logging.debug("getTextPage done in %s"%(datetime.now()-startTime))   
     
    463458                logging.warn("processFigures: strange figure!")
    464459               
     460
     461    def _cleanSearchResult(self, pagediv):
     462        """fixes search result html (change pbs and figures)"""
     463        # replace figure-tag with figureNumText
     464        for fig in pagediv.findall(".//span[@class='figure']"):
     465            txt = fig.findtext(".//span[@class='figureNumText']")
     466            tail = fig.tail
     467            fig.clear()
     468            fig.set('class', 'figure')
     469            fig.text = txt
     470            fig.tail = tail
     471               
     472        # replace lb-tag with "//"
     473        for lb in pagediv.findall(".//br[@class='lb']"):
     474            lb.tag = 'span'
     475            lb.text = '//'
     476       
     477        # replace pb-tag with "///"
     478        for pb in pagediv.findall(".//span[@class='pb']"):
     479            tail = pb.tail
     480            pb.clear()
     481            pb.set('class', 'pb')
     482            pb.text = '///'
     483            pb.tail = tail
     484       
     485        return pagediv
     486   
     487    def _cleanSearchResult2(self, pagediv):
     488        """fixes search result html (change pbs and figures)"""
     489        # unfortunately etree can not select class.startswith('figure')
     490        divs = pagediv.findall(".//span[@class]")
     491        for d in divs:
     492            cls = d.get('class')
     493            if cls.startswith('figure'):
     494                # replace figure-tag with figureNumText
     495                txt = d.findtext(".//span[@class='figureNumText']")
     496                d.clear()
     497                d.set('class', 'figure')
     498                d.text = txt
     499               
     500            elif cls.startswith('pb'):
     501                # replace pb-tag with "//"
     502                d.clear()
     503                d.set('class', 'pb')
     504                d.text = '//'
     505       
     506        return pagediv
     507   
     508
    465509   
    466510    def _fixEmptyDivs(self, pagediv):
     
    477521    def getSearchResults(self, mode, query=None, pageinfo=None, docinfo=None):
    478522        """loads list of search results and stores XML in docinfo"""
    479        
    480         logging.debug("getSearchResults mode=%s query=%s"%(mode, query))
     523        normMode = pageinfo.get('characterNormalization', 'reg')
     524        logging.debug("getSearchResults mode=%s query=%s norm=%s"%(mode, query, normMode))
    481525        if mode == "none":
    482526            return docinfo
     
    487531        if cachedQuery is not None:
    488532            # cached search result
    489             if cachedQuery == '%s_%s'%(mode,query):
     533            if cachedQuery == '%s_%s_%s'%(mode,query,normMode):
    490534                # same query
    491535                return docinfo
     
    497541       
    498542        # cache query
    499         docinfo['cachedQuery'] = '%s_%s'%(mode,query)
     543        docinfo['cachedQuery'] = '%s_%s_%s'%(mode,query,normMode)
    500544       
    501545        # fetch full results
     
    510554        try:
    511555            dom = ET.fromstring(pagexml)
     556            # clean html output
     557            self._processWTags('plain', normMode, dom)
     558            self._cleanSearchResult(dom)
    512559            # page content is currently in multiple <td align=left>
    513560            alldivs = dom.findall(".//tr[@class='hit']")
     
    533580
    534581    def getResultsPage(self, mode="text", query=None, pn=None, start=None, size=None, pageinfo=None, docinfo=None):
    535         """returns single page from the table of contents"""
     582        """returns single page from the list of search results"""
    536583        logging.debug("getResultsPage mode=%s, pn=%s"%(mode,pn))
    537584        # get (cached) result
  • css/docuviewer.css

    r577 r583  
    294294        vertical-align: super; */
    295295}
    296 /* handwritten */
    297 div.col.main div.content.text span.handwritten {
    298         display: block;
    299         /* float: left; */
    300     margin-top: 0.5em;
    301     margin-bottom: 0.5em;
    302     padding: 5px;
    303     border: 1px dashed silver; 
    304 }
    305 div.col.main div.content.text span.handwritten span.figureNum {
    306     display: none;
    307     /* font-size: 70%;
    308         vertical-align: super; */
    309 }
    310296/* figure */
    311297div.col.main div.content.text span.figure {
Note: See TracChangeset for help on using the changeset viewer.