Changeset 469:15394486ab75 in documentViewer
- Timestamp:
- Aug 3, 2011, 7:04:18 PM (14 years ago)
- Branch:
- elementtree
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
MpdlXmlTextServer.py
r465 r469 228 228 def processPageInfo(self, dom, docinfo, pageinfo): 229 229 """processes page info divs from dom and stores in docinfo and pageinfo""" 230 # process all toplevel divs 231 alldivs = dom.findall(".//div") 232 pagediv = None 230 # assume first second level div is pageMeta 231 alldivs = dom.find("div") 233 232 for div in alldivs: 234 233 dc = div.get('class') 235 234 236 # page content div237 if dc == 'pageContent':238 pagediv = div239 240 235 # pageNumberOrig 241 elif dc == 'pageNumberOrig':236 if dc == 'pageNumberOrig': 242 237 pageinfo['pageNumberOrig'] = div.text 243 238 … … 248 243 # pageNumberOrigNorm 249 244 elif dc == 'countFigureEntries': 250 docinfo[' countFigureEntries'] = getInt(div.text)245 docinfo['numFigureEntries'] = getInt(div.text) 251 246 252 247 # pageNumberOrigNorm 253 248 elif dc == 'countTocEntries': 254 249 # WTF: s1 = int(s)/30+1 255 docinfo['countTocEntries'] = getInt(div.text) 250 docinfo['numTocEntries'] = getInt(div.text) 251 252 # pageHeaderTitle 253 elif dc == 'pageHeaderTitle': 254 docinfo['pageHeaderTitle'] = div.text 256 255 257 256 # numTextPages … … 312 311 pagediv = None 313 312 # ElementTree 1.2 in Python 2.6 can't do div[@class='pageContent'] 314 alldivs = dom.findall(".//div") 313 # so we look at the second level divs 314 alldivs = dom.findall("div") 315 315 for div in alldivs: 316 316 dc = div.get('class') -
documentViewer.py
r468 r469 300 300 301 301 pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, tocMode=tocMode) 302 303 if viewMode != 'images' and docinfo.get('textURLPath', None): 304 # get full text page 305 page = self.getTextPage(mode=viewMode, pn=pn, docinfo=docinfo, pageinfo=pageinfo) 306 pageinfo['textPage'] = page 307 302 308 303 # get template /template/viewer_main 309 304 pt = getattr(self.template, 'viewer_main') … … 345 340 return style 346 341 347 def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&'): 348 """returns URL to documentviewer with parameter param set to val or from dict params""" 342 def getParams(self, param=None, val=None, params=None): 343 """returns dict with URL parameters. 344 345 Takes URL parameters and additionally param=val or dict params. 346 Deletes key if value is None.""" 349 347 # copy existing request params 350 urlParams=self.REQUEST.form.copy()348 newParams=self.REQUEST.form.copy() 351 349 # change single param 352 350 if param is not None: 353 351 if val is None: 354 if urlParams.has_key(param):355 del urlParams[param]352 if newParams.has_key(param): 353 del newParams[param] 356 354 else: 357 urlParams[param] = str(val)355 newParams[param] = str(val) 358 356 359 357 # change more params … … 363 361 if v is None: 364 362 # val=None removes param 365 if urlParams.has_key(k):366 del urlParams[k]363 if newParams.has_key(k): 364 del newParams[k] 367 365 368 366 else: 369 urlParams[k] = v370 371 # FIXME: does this belong here?372 if urlParams.get("mode", None) == "filepath": #wenn beim erst Aufruf filepath gesetzt wurde aendere das nun zu imagepath373 urlParams["mode"] = "imagepath"374 urlParams["url"] = getParentPath(urlParams["url"])375 367 newParams[k] = v 368 369 return newParams 370 371 def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&'): 372 """returns URL to documentviewer with parameter param set to val or from dict params""" 373 urlParams = self.getParams(param=param, val=val, params=params) 376 374 # quote values and assemble into query string (not escaping '/') 377 375 ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(v,'/')) for (k, v) in urlParams.items()]) 378 #ps = urllib.urlencode(urlParams)379 376 if baseUrl is None: 380 baseUrl = self. REQUEST['URL1']377 baseUrl = self.getDocumentViewerURL() 381 378 382 379 url = "%s?%s"%(baseUrl, ps) 383 380 return url 384 385 381 386 382 def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None): 387 383 """link to documentviewer with parameter param set to val""" 388 384 return self.getLink(param, val, params, baseUrl, '&') 385 389 386 390 387 def getInfo_xml(self,url,mode): … … 465 462 if metaDom is not None: 466 463 # document directory name and path 467 logging.debug("RESOURCE: %s"%repr(self.metadataService.resource.meta.getData(dom=metaDom, all=True, recursive=2)))468 464 resource = self.metadataService.getResourceData(dom=metaDom) 469 465 if resource: … … 573 569 docinfo['oddPage'] = texttool.get('odd-scan-orientation', 'left') 574 570 575 # number of title page 571 # number of title page (0: not defined) 576 572 docinfo['titlePage'] = texttool.get('title-scan-no', 0) 577 573 … … 673 669 pageinfo = {} 674 670 current = getInt(current) 675 676 671 pageinfo['current'] = current 677 672 rows = int(rows or self.thumbrows) … … 686 681 pageinfo['start'] = start 687 682 pageinfo['end'] = start + grpsize 688 if (docinfo is not None) and ('numPages' in docinfo): 689 np = int(docinfo['numPages']) 690 pageinfo['end'] = min(pageinfo['end'], np) 691 pageinfo['numgroups'] = int(np / grpsize) 692 if np % grpsize > 0: 693 pageinfo['numgroups'] += 1 683 pn = self.REQUEST.get('pn','1') 684 pageinfo['pn'] = pn 685 np = int(docinfo.get('numPages', 0)) 686 if np == 0: 687 # numPages unknown - maybe we can get it from text page 688 if docinfo.get('textURLPath', None): 689 # cache text page as well 690 pageinfo['textPage'] = self.getTextPage(mode=viewMode, pn=pn, docinfo=docinfo, pageinfo=pageinfo) 691 np = int(docinfo.get('numPages', 0)) 692 693 pageinfo['end'] = min(pageinfo['end'], np) 694 pageinfo['numgroups'] = int(np / grpsize) 695 if np % grpsize > 0: 696 pageinfo['numgroups'] += 1 694 697 695 698 pageinfo['viewMode'] = viewMode … … 700 703 pageinfo['queryType'] = self.REQUEST.get('queryType','') 701 704 pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext') 702 pageinfo['textPN'] = self.REQUEST.get('textPN','1')703 705 pageinfo['highlightQuery'] = self.REQUEST.get('highlightQuery','') 704 706 pageinfo['tocPageSize'] = self.REQUEST.get('tocPageSize', '30') … … 722 724 723 725 pageinfo['searchPN'] =self.REQUEST.get('searchPN','1') 724 pageinfo['sn'] =self.REQUEST.get('sn','')725 726 return pageinfo 726 727
Note: See TracChangeset
for help on using the changeset viewer.