--- documentViewer/MpdlXmlTextServer.py 2011/07/19 18:46:34 1.238.2.4 +++ documentViewer/MpdlXmlTextServer.py 2011/08/03 19:04:18 1.238.2.6 @@ -227,18 +227,13 @@ class MpdlXmlTextServer(SimpleItem): def processPageInfo(self, dom, docinfo, pageinfo): """processes page info divs from dom and stores in docinfo and pageinfo""" - # process all toplevel divs - alldivs = dom.findall(".//div") - pagediv = None + # assume first second level div is pageMeta + alldivs = dom.find("div") for div in alldivs: dc = div.get('class') - # page content div - if dc == 'pageContent': - pagediv = div - # pageNumberOrig - elif dc == 'pageNumberOrig': + if dc == 'pageNumberOrig': pageinfo['pageNumberOrig'] = div.text # pageNumberOrigNorm @@ -247,12 +242,16 @@ class MpdlXmlTextServer(SimpleItem): # pageNumberOrigNorm elif dc == 'countFigureEntries': - docinfo['countFigureEntries'] = getInt(div.text) + docinfo['numFigureEntries'] = getInt(div.text) # pageNumberOrigNorm elif dc == 'countTocEntries': # WTF: s1 = int(s)/30+1 - docinfo['countTocEntries'] = getInt(div.text) + docinfo['numTocEntries'] = getInt(div.text) + + # pageHeaderTitle + elif dc == 'pageHeaderTitle': + docinfo['pageHeaderTitle'] = div.text # numTextPages elif dc == 'countPages': @@ -260,8 +259,8 @@ class MpdlXmlTextServer(SimpleItem): if np > 0: docinfo['numTextPages'] = np if docinfo.get('numPages', 0) == 0: - # seems to be text-only - docinfo['numTextPages'] = np + # seems to be text-only - update page count + docinfo['numPages'] = np pageinfo['end'] = min(pageinfo['end'], np) pageinfo['numgroups'] = int(np / pageinfo['groupsize']) if np % pageinfo['groupsize'] > 0: @@ -311,7 +310,8 @@ class MpdlXmlTextServer(SimpleItem): # page content is in
pagediv = None # ElementTree 1.2 in Python 2.6 can't do div[@class='pageContent'] - alldivs = dom.findall(".//div") + # so we look at the second level divs + alldivs = dom.findall("div") for div in alldivs: dc = div.get('class') # page content div