Changeset 46:31059e3d9338 in documentViewer


Ignore:
Timestamp:
Sep 9, 2006, 10:52:59 AM (18 years ago)
Author:
dwinter
Branch:
default
Message:

has now also a text mode viewMode=text

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • documentViewer.py

    r45 r46  
     1
     2
    13from OFS.Folder import Folder
    24from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate
     
    1719import urllib
    1820import zLOG
     21import urlparse
    1922
    2023def getInt(number, default=0):
     
    2629
    2730def getTextFromNode(nodename):
     31    """get the cdata content of a node"""
    2832    if nodename is None:
    2933        return ""
     
    5660class documentViewer(Folder):
    5761    """document viewer"""
    58 
     62    textViewerUrl="http://127.0.0.1:8080/HFQP/testXSLT/getPage?"
     63   
    5964    meta_type="Document viewer"
    6065   
     
    7580
    7681   
    77     def __init__(self,id,imageViewerUrl,title="",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"):
    7883        """init document viewer"""
    7984        self.id=id
    8085        self.title=title
    8186        self.imageViewerUrl=imageViewerUrl
     87        self.textViewerUrl=textViewerUrl
     88       
    8289        if not digilibBaseUrl:
    8390            self.digilibBaseUrl = self.findDigilibUrl()
     
    93100
    94101    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):
    96103        '''
    97104        view it
    98105        @param mode: defines which type of document is behind url
    99106        @param url: url which contains display information
     107        @param viewMode: if images display images, if text display text, default is images
     108       
    100109        '''
    101110       
     
    112121        pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
    113122        pt = getattr(self.template, 'viewer_main')
    114         return pt(docinfo=docinfo,pageinfo=pageinfo)
     123        return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode)
    115124 
    116125 
     
    206215            if not metaUrl.endswith("index.meta"):
    207216                metaUrl += "/index.meta"
    208        
     217        print metaUrl
    209218        for cnt in range(num_retries):
    210219            try:
     
    234243        if dom is None:
    235244            dom = self.getIndexMeta(getParentDir(path))
    236             
     245       
    237246        acctype = dom.xpath("//access-conditions/access/@type")
    238247        if acctype and (len(acctype)>0):
     
    460469        """try to get the digilib URL from zogilib"""
    461470        url = self.imageViewerUrl[:-1] + "/getScalerUrl"
     471        print urlparse.urlparse(url)[0]
     472        print urlparse.urljoin(self.absolute_url(),url)
    462473        try:
     474            if urlparse.urlparse(url)[0]=='': #relative path
     475                url=urlparse.urljoin(self.absolute_url()+"/",url)
     476               
    463477            scaler = urlopen(url).read()
    464478            return scaler.replace("/servlet/Scaler?", "")
     
    466480            return None
    467481   
    468     def changeDocumentViewer(self,imageViewerUrl,title="",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):
    469483        """init document viewer"""
    470484        self.title=title
    471485        self.imageViewerUrl=imageViewerUrl
     486        self.textViewerUrl=textViewerUrl
    472487        self.digilibBaseUrl = digilibBaseUrl
    473488        self.thumbrows = thumbrows
     
    487502    return pt()
    488503 
    489 def manage_AddDocumentViewer(self,id,imageViewerUrl="",title="",RESPONSE=None):
     504def manage_AddDocumentViewer(self,id,imageViewerUrl="",textViewerUrl="",title="",RESPONSE=None):
    490505    """add the viewer"""
    491     newObj=documentViewer(id,imageViewerUrl,title)
     506    newObj=documentViewer(id,imageViewerUrl,title=title,textViewerUrl=textViewerUrl)
    492507    self._setObject(id,newObj)
    493508   
  • 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}"/>
    34</tal:block>
Note: See TracChangeset for help on using the changeset viewer.