Diff for /documentViewer/documentViewer.py between versions 1.30 and 1.34

version 1.30, 2007/06/22 16:02:55 version 1.34, 2008/11/04 20:19:59
Line 83  class documentViewer(Folder): Line 83  class documentViewer(Folder):
     docuviewer_css = PageTemplateFile('css/docuviewer.css', globals())      docuviewer_css = PageTemplateFile('css/docuviewer.css', globals())
     info_xml = PageTemplateFile('zpt/info_xml', globals())      info_xml = PageTemplateFile('zpt/info_xml', globals())
   
       thumbs_main_rss = PageTemplateFile('zpt/thumbs_main_rss', globals())
     security.declareProtected('View management screens','changeDocumentViewerForm')          security.declareProtected('View management screens','changeDocumentViewerForm')    
     changeDocumentViewerForm = PageTemplateFile('zpt/changeDocumentViewer', globals())      changeDocumentViewerForm = PageTemplateFile('zpt/changeDocumentViewer', globals())
   
Line 106  class documentViewer(Folder): Line 107  class documentViewer(Folder):
         self.manage_addFolder('template')          self.manage_addFolder('template')
   
   
       security.declareProtected('View','thumbs_rss')
       def thumbs_rss(self,mode,url,viewMode="auto",start=None,pn=1):
           '''
           view it
           @param mode: defines how to access the document behind url 
           @param url: url which contains display information
           @param viewMode: if images display images, if text display text, default is images (text,images or auto)
           
           '''
           logging.info("HHHHHHHHHHHHHH:load the rss")
           logger("documentViewer (index)", logging.INFO, "mode: %s url:%s start:%s pn:%s"%(mode,url,start,pn))
           
           if not hasattr(self, 'template'):
               # create template folder if it doesn't exist
               self.manage_addFolder('template')
               
           if not self.digilibBaseUrl:
               self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary"
               
           docinfo = self.getDocinfo(mode=mode,url=url)
           pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
           pt = getattr(self.template, 'thumbs_main_rss')
           
           if viewMode=="auto": # automodus gewaehlt
               if docinfo.get("textURL",'') and self.textViewerUrl: #texturl gesetzt und textViewer konfiguriert
                   viewMode="text"
               else:
                   viewMode="images"
                  
           return pt(docinfo=docinfo,pageinfo=pageinfo,viewMode=viewMode)
     
     security.declareProtected('View','index_html')      security.declareProtected('View','index_html')
     def index_html(self,mode,url,viewMode="auto",start=None,pn=1):      def index_html(self,mode,url,viewMode="auto",start=None,pn=1):
         '''          '''
Line 153  class documentViewer(Folder): Line 185  class documentViewer(Folder):
         url=self.REQUEST['URL1']+"?"+ps          url=self.REQUEST['URL1']+"?"+ps
         return url          return url
   
       def getLinkAmp(self,param=None,val=None):
           """link to documentviewer with parameter param set to val"""
           params=self.REQUEST.form.copy()
           if param is not None:
               if val is None:
                   if params.has_key(param):
                       del params[param]
               else:
                   params[param] = str(val)
   
           # quote values and assemble into query string
           logging.info("XYXXXXX: %s"%repr(params.items()))
           ps = "&".join(["%s=%s"%(k,urllib.quote(v)) for (k, v) in params.items()])
           url=self.REQUEST['URL1']+"?"+ps
           return url
     def getInfo_xml(self,url,mode):      def getInfo_xml(self,url,mode):
         """returns info about the document as XML"""          """returns info about the document as XML"""
   
Line 286  class documentViewer(Folder): Line 332  class documentViewer(Folder):
         return dom          return dom
                                                   
                   
     def getAuthinfoFromIndexMeta(self,path,docinfo=None,dom=None):      def getAuthinfoFromIndexMeta(self,path,docinfo=None,dom=None,cut=0):
         """gets authorization info from the index.meta file at path or given by dom"""          """gets authorization info from the index.meta file at path or given by dom"""
         logger("documentViewer (getauthinfofromindexmeta)", logging.INFO,"path: %s"%(path))          logger("documentViewer (getauthinfofromindexmeta)", logging.INFO,"path: %s"%(path))
                   
Line 296  class documentViewer(Folder): Line 342  class documentViewer(Folder):
             docinfo = {}              docinfo = {}
                           
         if dom is None:          if dom is None:
             dom = self.getIndexMeta(getParentDir(path))              for x in range(cut+1):
                   path=getParentDir(path)
               dom = self.getIndexMeta(path)
                 
         acctype = dom.xpath("//access-conditions/access/@type")          acctype = dom.xpath("//access-conditions/access/@type")
         if acctype and (len(acctype)>0):          if acctype and (len(acctype)>0):
Line 308  class documentViewer(Folder): Line 356  class documentViewer(Folder):
         return docinfo          return docinfo
           
                   
     def getBibinfoFromIndexMeta(self,path,docinfo=None,dom=None):      def getBibinfoFromIndexMeta(self,path,docinfo=None,dom=None,cut=0):
         """gets bibliographical info from the index.meta file at path or given by dom"""          """gets bibliographical info from the index.meta file at path or given by dom"""
         logging.debug("documentViewer (getbibinfofromindexmeta) path: %s"%(path))          logging.debug("documentViewer (getbibinfofromindexmeta) path: %s"%(path))
                   
Line 316  class documentViewer(Folder): Line 364  class documentViewer(Folder):
             docinfo = {}              docinfo = {}
                           
         if dom is None:          if dom is None:
             dom = self.getIndexMeta(getParentDir(path))              for x in range(cut+1):
                   path=getParentDir(path)
               dom = self.getIndexMeta(path)
                           
         # put in all raw bib fields as dict "bib"          # put in all raw bib fields as dict "bib"
         bib = dom.xpath("//bib/*")          bib = dom.xpath("//bib/*")
Line 425  class documentViewer(Folder): Line 475  class documentViewer(Folder):
            textUrl=getTextFromNode(textUrls[0])             textUrl=getTextFromNode(textUrls[0])
            if urlparse.urlparse(textUrl)[0]=="": #keine url             if urlparse.urlparse(textUrl)[0]=="": #keine url
                textUrl=os.path.join(archivePath,textUrl)                  textUrl=os.path.join(archivePath,textUrl) 
              # fix URLs starting with /mpiwg/online
              if textUrl.startswith("/mpiwg/online"):
                  textUrl = textUrl.replace("/mpiwg/online",'',1)
   
            docinfo['textURL'] = textUrl             docinfo['textURL'] = textUrl
         
Line 459  class documentViewer(Folder): Line 512  class documentViewer(Folder):
             pass              pass
         return docinfo          return docinfo
           
     def getDocinfoFromImagePath(self,path,docinfo=None):      def getDocinfoFromImagePath(self,path,docinfo=None,cut=0):
         """path ist the path to the images it assumes that the index.meta file is one level higher."""          """path ist the path to the images it assumes that the index.meta file is one level higher."""
         logger("documentViewer (getdocinfofromimagepath)", logging.INFO,"path: %s"%(path))          logger("documentViewer (getdocinfofromimagepath)", logging.INFO,"path: %s"%(path))
         if docinfo is None:          if docinfo is None:
Line 470  class documentViewer(Folder): Line 523  class documentViewer(Folder):
         imageUrl=self.digilibBaseUrl+"/servlet/Scaler?fn="+path          imageUrl=self.digilibBaseUrl+"/servlet/Scaler?fn="+path
         docinfo['imageURL'] = imageUrl          docinfo['imageURL'] = imageUrl
                   
         docinfo = self.getBibinfoFromIndexMeta(path,docinfo=docinfo)          docinfo = self.getBibinfoFromIndexMeta(path,docinfo=docinfo,cut=cut)
         docinfo = self.getAuthinfoFromIndexMeta(path,docinfo=docinfo)          docinfo = self.getAuthinfoFromIndexMeta(path,docinfo=docinfo,cut=cut)
         return docinfo          return docinfo
           
           
Line 491  class documentViewer(Folder): Line 544  class documentViewer(Folder):
             docinfo = self.getDocinfoFromTextTool(url, docinfo=docinfo)              docinfo = self.getDocinfoFromTextTool(url, docinfo=docinfo)
         elif mode=="imagepath":          elif mode=="imagepath":
             docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo)              docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo)
           elif mode=="filepath":
               docinfo = self.getDocinfoFromImagePath(url, docinfo=docinfo,cut=2)
         else:          else:
             logger("documentViewer (getdocinfo)", logging.ERROR,"unknown mode!")              logger("documentViewer (getdocinfo)", logging.ERROR,"unknown mode!")
             raise ValueError("Unknown mode %s"%(mode))              raise ValueError("Unknown mode %s"%(mode))

Removed from v.1.30  
changed lines
  Added in v.1.34


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>