Diff for /documentViewer/documentViewer.py between versions 1.110 and 1.151

version 1.110, 2010/10/08 13:29:00 version 1.151, 2010/11/02 15:32:44
Line 5  from Products.PageTemplates.PageTemplate Line 5  from Products.PageTemplates.PageTemplate
 from AccessControl import ClassSecurityInfo  from AccessControl import ClassSecurityInfo
 from AccessControl import getSecurityManager  from AccessControl import getSecurityManager
 from Globals import package_home  from Globals import package_home
   from Products.zogiLib.zogiLib import browserCheck
   
 from Ft.Xml import EMPTY_NAMESPACE, Parse  from Ft.Xml import EMPTY_NAMESPACE, Parse
 import Ft.Xml.Domlette  import Ft.Xml.Domlette
Line 17  import math Line 18  import math
 import urlparse   import urlparse 
 import cStringIO  import cStringIO
 import re  import re
   import string
   
 def logger(txt,method,txt2):  def logger(txt,method,txt2):
     """logging"""      """logging"""
Line 49  def serializeNode(node, encoding='utf-8' Line 51  def serializeNode(node, encoding='utf-8'
     buf.close()      buf.close()
     return s      return s
   
   def browserCheck(self):
       """check the browsers request to find out the browser type"""
       bt = {}
       ua = self.REQUEST.get_header("HTTP_USER_AGENT")
       bt['ua'] = ua
       bt['isIE'] = False
       bt['isN4'] = False
       if string.find(ua, 'MSIE') > -1:
           bt['isIE'] = True
       else:
           bt['isN4'] = (string.find(ua, 'Mozilla/4.') > -1)
           
       try:
           nav = ua[string.find(ua, '('):]
           ie = string.split(nav, "; ")[1]
           if string.find(ie, "MSIE") > -1:
               bt['versIE'] = string.split(ie, " ")[1]
       except: pass
       
       bt['isMac'] = string.find(ua, 'Macintosh') > -1
       bt['isWin'] = string.find(ua, 'Windows') > -1
       bt['isIEWin'] = bt['isIE'] and bt['isWin']
       bt['isIEMac'] = bt['isIE'] and bt['isMac']
       bt['staticHTML'] = False
   
       return bt
   
                   
 def getParentDir(path):  def getParentDir(path):
     """returns pathname shortened by one"""      """returns pathname shortened by one"""
Line 170  class documentViewer(Folder): Line 199  class documentViewer(Folder):
         """get query"""          """get query"""
         return self.template.fulltextclient.getQuery(**args)          return self.template.fulltextclient.getQuery(**args)
   
       def getPDF(self, **args):
           """get query"""
           return self.template.fulltextclient.getPDF(**args)
   
     def getSearch(self, **args):      def getSearch(self, **args):
         """get search"""          """get search"""
         return self.template.fulltextclient.getSearch(**args)          return self.template.fulltextclient.getSearch(**args)
   
       def getGisPlaces(self, **args):
           """get gis places"""
           return self.template.fulltextclient.getGisPlaces(**args)
    
       def getAllGisPlaces(self, **args):
           """get all gis places """
           return self.template.fulltextclient.getAllGisPlaces(**args)
       
       def getOrigPages(self, **args):
           """get original page number """
           return self.template.fulltextclient.getOrigPages(**args)
       
     def getNumPages(self, docinfo):      def getNumPages(self, docinfo):
         """get numpages"""          """get numpages"""
         return self.template.fulltextclient.getNumPages(docinfo)          return self.template.fulltextclient.getNumPages(docinfo)
Line 219  class documentViewer(Folder): Line 264  class documentViewer(Folder):
             self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary"              self.digilibBaseUrl = self.findDigilibUrl() or "http://nausikaa.mpiwg-berlin.mpg.de/digitallibrary"
                           
         docinfo = self.getDocinfo(mode=mode,url=url)          docinfo = self.getDocinfo(mode=mode,url=url)
           #pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
         pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)          pageinfo = self.getPageinfo(start=start,current=pn,docinfo=docinfo)
           ''' ZDES '''
         pt = getattr(self.template, 'thumbs_main_rss')          pt = getattr(self.template, 'thumbs_main_rss')
                   
         if viewMode=="auto": # automodus gewaehlt          if viewMode=="auto": # automodus gewaehlt
Line 280  class documentViewer(Folder): Line 327  class documentViewer(Folder):
         return ret          return ret
   
   
       def getBrowser(self):
           """getBrowser the version of browser """
           names=""
           names = browserCheck(self)
           #logging.debug("XXXXXXXXXXXXXXXX: %s"%names)
           return names
           
     def findDigilibUrl(self):      def findDigilibUrl(self):
         """try to get the digilib URL from zogilib"""          """try to get the digilib URL from zogilib"""
         url = self.template.zogilib.getDLBaseUrl()          url = self.template.zogilib.getDLBaseUrl()
Line 404  class documentViewer(Folder): Line 458  class documentViewer(Folder):
         logging.debug("(getDomFromIndexMeta): URLXAXA: %s"%regpath.group(2))                      logging.debug("(getDomFromIndexMeta): URLXAXA: %s"%regpath.group(2))            
         return ("/mpiwg/online/"+regpath.group(1)+"/"+regpath.group(2))          return ("/mpiwg/online/"+regpath.group(1)+"/"+regpath.group(2))
             
       
       
     def getIndexMetaUrl(self,url):      def getIndexMetaUrl(self,url):
         """returns utr  of index.meta document at url"""          """returns utr  of index.meta document at url"""
               
Line 543  class documentViewer(Folder): Line 599  class documentViewer(Folder):
                 path=getParentDir(path)                  path=getParentDir(path)
             dom = self.getDomFromIndexMeta(path)              dom = self.getDomFromIndexMeta(path)
                   
         docinfo['indexMetaPath']=self.getIndexMetaPath(path);          docinfo['name']=getTextFromNode(dom.xpath("/resource/name")[0])
                   logging.debug("documentViewer docinfo[name] %s"%docinfo['name'])
         #result= dom.xpath("//result/resultPage")  
         #docinfo['numPages']=int(getTextFromNode(result[0]))  
           
         if len(name) > 0:  
             try:  
                 result =dom.xpath("//name")  
                 docinfo['name']=getTextFromNode(result[0])  
                 logging.debug("documentViewer docinfo[name] %s"%docinfo[name])  
             except: pass    
                 #logging.debug("documentViewer (getbibinfofromindexmeta) using mapping for %s"%bibtype)  
         return docinfo          return docinfo
           
     def getDocinfoFromTextTool(self, url, dom=None, docinfo=None):      def getDocinfoFromTextTool(self, url, dom=None, docinfo=None):
Line 643  class documentViewer(Folder): Line 689  class documentViewer(Folder):
                     
         presentationUrls = dom.xpath("//texttool/presentation")          presentationUrls = dom.xpath("//texttool/presentation")
         docinfo = self.getBibinfoFromIndexMeta(url, docinfo=docinfo, dom=dom)   # get info von bib tag          docinfo = self.getBibinfoFromIndexMeta(url, docinfo=docinfo, dom=dom)   # get info von bib tag
         #docinfo = self.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom)          docinfo = self.getNameFromIndexMeta(url, docinfo=docinfo, dom=dom)
           
                   
         if presentationUrls and (len(presentationUrls) > 0): # ueberschreibe diese durch presentation informationen           if presentationUrls and (len(presentationUrls) > 0): # ueberschreibe diese durch presentation informationen 
              # presentation url ergiebt sich ersetzen von index.meta in der url der fuer die Metadaten               # presentation url ergiebt sich ersetzen von index.meta in der url der fuer die Metadaten
Line 724  class documentViewer(Folder): Line 771  class documentViewer(Folder):
             raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode))              raise ValueError("Unknown mode %s! Has to be one of 'texttool','imagepath','filepath'."%(mode))
                                                   
         logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo)          logging.debug("documentViewer (getdocinfo) docinfo: %s"%docinfo)
           #logging.debug("documentViewer (getdocinfo) docinfo: %s"%)
         self.REQUEST.SESSION['docinfo'] = docinfo          self.REQUEST.SESSION['docinfo'] = docinfo
         return docinfo          return docinfo
                                 
Line 731  class documentViewer(Folder): Line 779  class documentViewer(Folder):
         """returns pageinfo with the given parameters"""          """returns pageinfo with the given parameters"""
         pageinfo = {}          pageinfo = {}
         current = getInt(current)          current = getInt(current)
       
         pageinfo['current'] = current          pageinfo['current'] = current
         rows = int(rows or self.thumbrows)          rows = int(rows or self.thumbrows)
         pageinfo['rows'] = rows          pageinfo['rows'] = rows
Line 750  class documentViewer(Folder): Line 799  class documentViewer(Folder):
                 pageinfo['numgroups'] += 1                          pageinfo['numgroups'] += 1        
         pageinfo['viewMode'] = viewMode          pageinfo['viewMode'] = viewMode
         pageinfo['tocMode'] = tocMode          pageinfo['tocMode'] = tocMode
         #pageinfo['characterNormalization'] =characterNormalization          #pageinfo ['originalPage'] = self.getOrigPages(docinfo=None, pageinfo=None)
         pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization',' ')          pageinfo['characterNormalization'] = self.REQUEST.get('characterNormalization',' ')
         pageinfo['query'] = self.REQUEST.get('query',' ')          pageinfo['query'] = self.REQUEST.get('query',' ')
           #pageinfo['optionsClose']= self.REQUEST.get('optionsClose','')  
         pageinfo['queryType'] = self.REQUEST.get('queryType',' ')          pageinfo['queryType'] = self.REQUEST.get('queryType',' ')
         pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext')          pageinfo['querySearch'] =self.REQUEST.get('querySearch', 'fulltext')
         pageinfo['textPN'] = self.REQUEST.get('textPN','1')          pageinfo['textPN'] = self.REQUEST.get('textPN','1')
Line 763  class documentViewer(Folder): Line 813  class documentViewer(Folder):
         toc = int (pageinfo['tocPN'])          toc = int (pageinfo['tocPN'])
         pageinfo['textPages'] =int (toc)          pageinfo['textPages'] =int (toc)
                   
           
           
         if 'tocSize_%s'%tocMode in docinfo:          if 'tocSize_%s'%tocMode in docinfo:
             tocSize = int(docinfo['tocSize_%s'%tocMode])              tocSize = int(docinfo['tocSize_%s'%tocMode])
             tocPageSize = int(pageinfo['tocPageSize'])              tocPageSize = int(pageinfo['tocPageSize'])

Removed from v.1.110  
changed lines
  Added in v.1.151


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