Diff for /documentViewer/documentViewer.py between versions 1.175.2.22 and 1.175.2.24

version 1.175.2.22, 2011/08/09 18:27:41 version 1.175.2.24, 2011/08/12 14:41:39
Line 176  class documentViewer(Folder): Line 176  class documentViewer(Folder):
         except Exception, e:          except Exception, e:
             logging.error("Unable to find MetaDataFolder 'metadata': "+str(e))              logging.error("Unable to find MetaDataFolder 'metadata': "+str(e))
                           
           if digilibBaseUrl is not None:
               self.digilibBaseUrl = digilibBaseUrl
               
                   
     # proxy text server methods to fulltextclient      # proxy text server methods to fulltextclient
     def getTextPage(self, **args):      def getTextPage(self, **args):
Line 206  class documentViewer(Folder): Line 209  class documentViewer(Folder):
         """get all gis places """          """get all gis places """
         return self.template.fulltextclient.getAllGisPlaces(**args)          return self.template.fulltextclient.getAllGisPlaces(**args)
                 
     def getTranslate(self, **args):      def getWordInfo(self, **args):
         """get translate"""          """get translate"""
         return self.template.fulltextclient.getTranslate(**args)          return self.template.fulltextclient.getWordInfo(**args)
   
     def getLemma(self, **args):      def getLemma(self, **args):
         """get lemma"""          """get lemma"""
Line 307  class documentViewer(Folder): Line 310  class documentViewer(Folder):
                           
         # stringify viewType          # stringify viewType
         if isinstance(viewType, list):          if isinstance(viewType, list):
               logging.debug("index_html: viewType is list:%s"%viewType)
             viewType = ','.join([t for t in viewType if t])              viewType = ','.join([t for t in viewType if t])
                                                   
         pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, viewType=viewType, tocMode=tocMode)          pageinfo = self.getPageinfo(start=start, current=pn, docinfo=docinfo, viewMode=viewMode, viewType=viewType, tocMode=tocMode)
Line 355  class documentViewer(Folder): Line 359  class documentViewer(Folder):
         else:          else:
             return style              return style
           
     def getParams(self, param=None, val=None, params=None):      def getParams(self, param=None, val=None, params=None, duplicates=None):
         """returns dict with URL parameters.          """returns dict with URL parameters.
                   
         Takes URL parameters and additionally param=val or dict params.          Takes URL parameters and additionally param=val or dict params.
Line 372  class documentViewer(Folder): Line 376  class documentViewer(Folder):
                                   
         # change more params          # change more params
         if params is not None:          if params is not None:
             for k in params.keys():              for (k, v) in params.items():
                 v = params[k]  
                 if v is None:                  if v is None:
                     # val=None removes param                      # val=None removes param
                     if newParams.has_key(k):                      if newParams.has_key(k):
Line 382  class documentViewer(Folder): Line 385  class documentViewer(Folder):
                 else:                  else:
                     newParams[k] = v                      newParams[k] = v
                                           
           if duplicates:
               # eliminate lists (coming from duplicate keys)
               for (k,v) in newParams.items():
                   if isinstance(v, list):
                       if duplicates == 'comma':
                           # make comma-separated list of non-empty entries
                           newParams[k] = ','.join([t for t in v if t])
                       elif duplicates == 'first':
                           # take first non-empty entry
                           newParams[k] = [t for t in v if t][0]
           
         return newParams          return newParams
           
     def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&'):      def getLink(self, param=None, val=None, params=None, baseUrl=None, paramSep='&', duplicates='comma'):
         """returns URL to documentviewer with parameter param set to val or from dict params"""          """returns URL to documentviewer with parameter param set to val or from dict params"""
         urlParams = self.getParams(param=param, val=val, params=params)          urlParams = self.getParams(param=param, val=val, params=params, duplicates=duplicates)
         # quote values and assemble into query string (not escaping '/')          # quote values and assemble into query string (not escaping '/')
         ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(unicode(v),'/')) for (k, v) in urlParams.items()])          ps = paramSep.join(["%s=%s"%(k,urllib.quote_plus(unicode(v),'/')) for (k, v) in urlParams.items()])
         if baseUrl is None:          if baseUrl is None:
Line 395  class documentViewer(Folder): Line 409  class documentViewer(Folder):
         url = "%s?%s"%(baseUrl, ps)          url = "%s?%s"%(baseUrl, ps)
         return url          return url
   
     def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None):      def getLinkAmp(self, param=None, val=None, params=None, baseUrl=None, duplicates='comma'):
         """link to documentviewer with parameter param set to val"""          """link to documentviewer with parameter param set to val"""
         return self.getLink(param, val, params, baseUrl, '&')          return self.getLink(param=param, val=val, params=params, baseUrl=baseUrl, paramSep='&', duplicates=duplicates)
           
           
     def getInfo_xml(self,url,mode):      def getInfo_xml(self,url,mode):
Line 447  class documentViewer(Folder): Line 461  class documentViewer(Folder):
         docinfo = {'mode': mode, 'url': url}          docinfo = {'mode': mode, 'url': url}
         # add self url          # add self url
         docinfo['viewerUrl'] = self.getDocumentViewerURL()          docinfo['viewerUrl'] = self.getDocumentViewerURL()
           docinfo['digilibBaseUrl'] = self.digilibBaseUrl
         # get index.meta DOM          # get index.meta DOM
         docUrl = None          docUrl = None
         metaDom = None          metaDom = None
Line 515  class documentViewer(Folder): Line 530  class documentViewer(Folder):
   
         # image path          # image path
         if mode != 'texttool':          if mode != 'texttool':
             # override image path from texttool              # override image path from texttool with url
             docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1)              docinfo['imagePath'] = url.replace('/mpiwg/online/', '', 1)
   
               
   
         # number of images from digilib          # number of images from digilib
         if docinfo.get('imagePath', None):          if docinfo.get('imagePath', None):
             docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + docinfo['imagePath']              docinfo['imageURL'] = self.digilibBaseUrl + "/servlet/Scaler?fn=" + docinfo['imagePath']
Line 680  class documentViewer(Folder): Line 697  class documentViewer(Folder):
         return docinfo          return docinfo
           
   
     def getPageinfo(self, current, start=None, rows=None, cols=None, docinfo=None, viewMode=None, viewType=None, tocMode=None):      def getPageinfo(self, current=None, start=None, rows=None, cols=None, docinfo=None, viewMode=None, viewType=None, tocMode=None):
         """returns pageinfo with the given parameters"""          """returns pageinfo with the given parameters"""
           logging.debug("getPageInfo(current=%s, start=%s, rows=%s, cols=%s, viewMode=%s, viewType=%s, tocMode=%s)"%(current,start,rows,cols,viewMode,viewType,tocMode))
         pageinfo = {}          pageinfo = {}
         pageinfo['viewMode'] = viewMode          pageinfo['viewMode'] = viewMode
         pageinfo['viewType'] = viewType          pageinfo['viewType'] = viewType

Removed from v.1.175.2.22  
changed lines
  Added in v.1.175.2.24


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