--- documentViewer/MpdlXmlTextServer.py 2011/08/04 14:57:02 1.238.2.7 +++ documentViewer/MpdlXmlTextServer.py 2011/08/05 17:04:20 1.238.2.10 @@ -228,6 +228,11 @@ class MpdlXmlTextServer(SimpleItem): """processes page info divs from dom and stores in docinfo and pageinfo""" # assume first second level div is pageMeta alldivs = dom.find("div") + + if alldivs is None or alldivs.get('class', '') != 'pageMeta': + logging.error("processPageInfo: pageMeta div not found!") + return + for div in alldivs: dc = div.get('class') @@ -239,18 +244,22 @@ class MpdlXmlTextServer(SimpleItem): elif dc == 'pageNumberOrigNorm': pageinfo['pageNumberOrigNorm'] = div.text - # pageNumberOrigNorm + # pageHeaderTitle + elif dc == 'pageHeaderTitle': + pageinfo['pageHeaderTitle'] = div.text + + # numFigureEntries elif dc == 'countFigureEntries': docinfo['numFigureEntries'] = getInt(div.text) - # pageNumberOrigNorm + # numTocEntries elif dc == 'countTocEntries': # WTF: s1 = int(s)/30+1 docinfo['numTocEntries'] = getInt(div.text) - # pageHeaderTitle - elif dc == 'pageHeaderTitle': - docinfo['pageHeaderTitle'] = div.text + # numPlaces + elif dc == 'countPlaces': + docinfo['numPlaces'] = getInt(div.text) # numTextPages elif dc == 'countPages': @@ -264,7 +273,8 @@ class MpdlXmlTextServer(SimpleItem): pageinfo['numgroups'] = int(np / pageinfo['groupsize']) if np % pageinfo['groupsize'] > 0: pageinfo['numgroups'] += 1 - + + #logging.debug("processPageInfo: pageinfo=%s"%repr(pageinfo)) return @@ -291,11 +301,12 @@ class MpdlXmlTextServer(SimpleItem): characterNormalization = pageinfo.get('characterNormalization', None) selfurl = docinfo['viewerUrl'] - if mode == "dict": - # text_dict is called textPollux in the backend + if mode == "dict" or mode == "text_dict": + # dict is called textPollux in the backend textmode = "textPollux" elif not mode: # default is text + mode = "text" textmode = "text" else: textmode = mode @@ -323,7 +334,7 @@ class MpdlXmlTextServer(SimpleItem): # plain text mode if mode == "text": - if pagediv: + if pagediv is not None: links = pagediv.findall(".//a") for l in links: href = l.get('href') @@ -334,8 +345,8 @@ class MpdlXmlTextServer(SimpleItem): return serialize(pagediv) # text-with-links mode - elif mode == "text_dict": - if pagediv: + elif mode == "dict": + if pagediv is not None: # check all a-tags links = pagediv.findall(".//a") for l in links: @@ -365,18 +376,18 @@ class MpdlXmlTextServer(SimpleItem): # xml mode elif mode == "xml": - if pagediv: + if pagediv is not None: return serialize(pagediv) # pureXml mode elif mode == "pureXml": - if pagediv: + if pagediv is not None: return serialize(pagediv) # gis mode elif mode == "gis": name = docinfo['name'] - if pagediv: + if pagediv is not None: # check all a-tags links = pagediv.findall(".//a") for l in links: