Mercurial > hg > documentViewer
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 |