Changeset 46:31059e3d9338 in documentViewer
- Timestamp:
- Sep 9, 2006, 10:52:59 AM (19 years ago)
- Branch:
- default
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
documentViewer.py
r45 r46 1 2 1 3 from OFS.Folder import Folder 2 4 from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate … … 17 19 import urllib 18 20 import zLOG 21 import urlparse 19 22 20 23 def getInt(number, default=0): … … 26 29 27 30 def getTextFromNode(nodename): 31 """get the cdata content of a node""" 28 32 if nodename is None: 29 33 return "" … … 56 60 class documentViewer(Folder): 57 61 """document viewer""" 58 62 textViewerUrl="http://127.0.0.1:8080/HFQP/testXSLT/getPage?" 63 59 64 meta_type="Document viewer" 60 65 … … 75 80 76 81 77 def __init__(self,id,imageViewerUrl,t itle="",digilibBaseUrl=None,thumbcols=2,thumbrows=10,authgroups="mpiwg"):82 def __init__(self,id,imageViewerUrl,textViewerUrl=None,title="",digilibBaseUrl=None,thumbcols=2,thumbrows=10,authgroups="mpiwg"): 78 83 """init document viewer""" 79 84 self.id=id 80 85 self.title=title 81 86 self.imageViewerUrl=imageViewerUrl 87 self.textViewerUrl=textViewerUrl 88 82 89 if not digilibBaseUrl: 83 90 self.digilibBaseUrl = self.findDigilibUrl() … … 93 100 94 101 security.declareProtected('View','index_html') 95 def index_html(self,mode,url, start=None,pn=1):102 def index_html(self,mode,url,viewMode="images",start=None,pn=1): 96 103 ''' 97 104 view it 98 105 @param mode: defines which type of document is behind url 99 106 @param url: url which contains display information 107 @param viewMode: if images display images, if text display text, default is images 108 100 109 ''' 101 110 … … 112 121 pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo) 113 122 pt = getattr(self.template, 'viewer_main') 114 return pt(docinfo=docinfo,pageinfo=pageinfo )123 return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode) 115 124 116 125 … … 206 215 if not metaUrl.endswith("index.meta"): 207 216 metaUrl += "/index.meta" 208 217 print metaUrl 209 218 for cnt in range(num_retries): 210 219 try: … … 234 243 if dom is None: 235 244 dom = self.getIndexMeta(getParentDir(path)) 236 245 237 246 acctype = dom.xpath("//access-conditions/access/@type") 238 247 if acctype and (len(acctype)>0): … … 460 469 """try to get the digilib URL from zogilib""" 461 470 url = self.imageViewerUrl[:-1] + "/getScalerUrl" 471 print urlparse.urlparse(url)[0] 472 print urlparse.urljoin(self.absolute_url(),url) 462 473 try: 474 if urlparse.urlparse(url)[0]=='': #relative path 475 url=urlparse.urljoin(self.absolute_url()+"/",url) 476 463 477 scaler = urlopen(url).read() 464 478 return scaler.replace("/servlet/Scaler?", "") … … 466 480 return None 467 481 468 def changeDocumentViewer(self,imageViewerUrl,t itle="",digilibBaseUrl=None,thumbrows=2,thumbcols=10,authgroups='mpiwg',RESPONSE=None):482 def changeDocumentViewer(self,imageViewerUrl,textViewerUrl,title="",digilibBaseUrl=None,thumbrows=2,thumbcols=10,authgroups='mpiwg',RESPONSE=None): 469 483 """init document viewer""" 470 484 self.title=title 471 485 self.imageViewerUrl=imageViewerUrl 486 self.textViewerUrl=textViewerUrl 472 487 self.digilibBaseUrl = digilibBaseUrl 473 488 self.thumbrows = thumbrows … … 487 502 return pt() 488 503 489 def manage_AddDocumentViewer(self,id,imageViewerUrl="",t itle="",RESPONSE=None):504 def manage_AddDocumentViewer(self,id,imageViewerUrl="",textViewerUrl="",title="",RESPONSE=None): 490 505 """add the viewer""" 491 newObj=documentViewer(id,imageViewerUrl,title )506 newObj=documentViewer(id,imageViewerUrl,title=title,textViewerUrl=textViewerUrl) 492 507 self._setObject(id,newObj) 493 508 -
zpt/image_main.zpt
r30 r46 1 <tal:block tal:define="docinfo options/docinfo; pageinfo options/pageinfo"> 2 <iframe height="100%" width="100%" tal:attributes="src string:${here/imageViewerUrl}fn=${docinfo/imagePath}&pn=${pageinfo/current}"/> 1 <tal:block tal:define="docinfo options/docinfo; pageinfo options/pageinfo; mode python:options.get('viewMode','images')"> 2 <iframe tal:condition="python:mode=='images'" height="100%" width="100%" tal:attributes="src string:${here/imageViewerUrl}fn=${docinfo/imagePath}&pn=${pageinfo/current}"/> 3 <iframe tal:condition="python:mode=='text'" height="100%" width="100%" tal:attributes="src string:${here/textViewerUrl}fn=${docinfo/textURL}&_pn=${pageinfo/current}"/> 3 4 </tal:block>
Note: See TracChangeset
for help on using the changeset viewer.