comparison documentViewer.py @ 566:4a31608f8b0e

more new MpiwgXmlTextServer.
author casties
date Wed, 10 Oct 2012 18:09:49 +0200
parents 1b483194901c
children 694935574177
comparison
equal deleted inserted replaced
565:1b483194901c 566:4a31608f8b0e
197 except Exception, e: 197 except Exception, e:
198 logging.error("Unable to find MetaDataFolder 'metadata': "+str(e)) 198 logging.error("Unable to find MetaDataFolder 'metadata': "+str(e))
199 199
200 if digilibBaseUrl is not None: 200 if digilibBaseUrl is not None:
201 self.digilibBaseUrl = digilibBaseUrl 201 self.digilibBaseUrl = digilibBaseUrl
202 self.digilibScalerUrl = digilibBaseUrl + '/servlet/Scaler'
203 self.digilibViewerUrl = digilibBaseUrl + '/jquery/digilib.html'
202 204
203 205
204 # proxy text server methods to fulltextclient 206 # proxy text server methods to fulltextclient
205 def getTextPage(self, **args): 207 def getTextPage(self, **args):
206 """returns full text content of page""" 208 """returns full text content of page"""
358 url = None 360 url = None
359 if docinfo is not None: 361 if docinfo is not None:
360 url = docinfo.get('imageURL', None) 362 url = docinfo.get('imageURL', None)
361 363
362 if url is None: 364 if url is None:
363 url = "%s/servlet/Scaler?"%self.digilibBaseUrl 365 url = self.digilibScalerUrl
364 if fn is None and docinfo is not None: 366 if fn is None and docinfo is not None:
365 fn = docinfo.get('imagePath','') 367 fn = docinfo.get('imagePath','')
366 368
367 url += "fn=%s"%fn 369 url += "fn=%s"%fn
368 370
541 # new docinfo 543 # new docinfo
542 docinfo = {'mode': mode, 'url': url} 544 docinfo = {'mode': mode, 'url': url}
543 # add self url 545 # add self url
544 docinfo['viewerUrl'] = self.getDocumentViewerURL() 546 docinfo['viewerUrl'] = self.getDocumentViewerURL()
545 docinfo['digilibBaseUrl'] = self.digilibBaseUrl 547 docinfo['digilibBaseUrl'] = self.digilibBaseUrl
548 docinfo['digilibScalerUrl'] = self.digilibScalerUrl
549 docinfo['digilibViewerUrl'] = self.digilibViewerUrl
546 # get index.meta DOM 550 # get index.meta DOM
547 docUrl = None 551 docUrl = None
548 metaDom = None 552 metaDom = None
549 if mode=="texttool": 553 if mode=="texttool":
550 # url points to document dir or index.meta 554 # url points to document dir or index.meta
560 metaDom = self.metadataService.getDomFromPathOrUrl(docUrl) 564 metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
561 docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1) 565 docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1)
562 566
563 elif mode=="filepath": 567 elif mode=="filepath":
564 # url points to image file, index.meta optional 568 # url points to image file, index.meta optional
565 docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + url 569 docinfo['imageURL'] = "%s?fn=%s"%(self.digilibScalerUrl, url)
566 docinfo['numPages'] = 1 570 docinfo['numPages'] = 1
567 # asssume index.meta is two path segments up 571 # asssume index.meta is two path segments up
568 docUrl = getParentPath(url, 2) 572 docUrl = getParentPath(url, 2)
569 metaDom = self.metadataService.getDomFromPathOrUrl(docUrl) 573 metaDom = self.metadataService.getDomFromPathOrUrl(docUrl)
570 574
634 # check numPages 638 # check numPages
635 if docinfo.get('numPages', 0) == 0: 639 if docinfo.get('numPages', 0) == 0:
636 # number of images from digilib 640 # number of images from digilib
637 if docinfo.get('imagePath', None): 641 if docinfo.get('imagePath', None):
638 imgpath = docinfo['imagePath'].replace('/mpiwg/online/', '', 1) 642 imgpath = docinfo['imagePath'].replace('/mpiwg/online/', '', 1)
639 docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + imgpath 643 docinfo['imageURL'] = "%s?fn=%s"%(self.digilibScalerUrl, imgpath)
640 docinfo = self.getDocinfoFromDigilib(docinfo, imgpath) 644 docinfo = self.getDocinfoFromDigilib(docinfo, imgpath)
641 else: 645 else:
642 # imagePath still missing? try "./pageimg" 646 # imagePath still missing? try "./pageimg"
643 imgPath = os.path.join(docUrl, 'pageimg') 647 imgPath = os.path.join(docUrl, 'pageimg')
644 docinfo = self.getDocinfoFromDigilib(docinfo, imgPath) 648 docinfo = self.getDocinfoFromDigilib(docinfo, imgPath)
645 if docinfo.get('numPages', 0) > 0: 649 if docinfo.get('numPages', 0) > 0:
646 # there are pages 650 # there are pages
647 docinfo['imagePath'] = imgPath 651 docinfo['imagePath'] = imgPath
648 docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + docinfo['imagePath'] 652 docinfo['imageURL'] = "%s?fn=%s"%(self.digilibScalerUrl, docinfo['imagePath'])
649 653
650 # check numPages 654 # check numPages
651 if docinfo.get('numPages', 0) == 0: 655 if docinfo.get('numPages', 0) == 0:
652 if docinfo.get('numTextPages', 0) > 0: 656 if docinfo.get('numTextPages', 0) > 0:
653 # replace with numTextPages (text-only?) 657 # replace with numTextPages (text-only?)
1042 1046
1043 def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',availableLayers=None,RESPONSE=None): 1047 def changeDocumentViewer(self,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=5,authgroups='mpiwg',availableLayers=None,RESPONSE=None):
1044 """init document viewer""" 1048 """init document viewer"""
1045 self.title=title 1049 self.title=title
1046 self.digilibBaseUrl = digilibBaseUrl 1050 self.digilibBaseUrl = digilibBaseUrl
1051 self.digilibScalerUrl = digilibBaseUrl + '/servlet/Scaler'
1052 self.digilibViewerUrl = digilibBaseUrl + '/jquery/digilib.html'
1047 self.thumbrows = thumbrows 1053 self.thumbrows = thumbrows
1048 self.thumbcols = thumbcols 1054 self.thumbcols = thumbcols
1049 self.authgroups = [s.strip().lower() for s in authgroups.split(',')] 1055 self.authgroups = [s.strip().lower() for s in authgroups.split(',')]
1050 try: 1056 try:
1051 # assume MetaDataFolder instance is called metadata 1057 # assume MetaDataFolder instance is called metadata