Diff for /zogiLib/zogiLib.py between versions 1.60 and 1.63

version 1.60, 2005/11/08 18:10:10 version 1.63, 2006/06/15 16:44:00
Line 18  import string Line 18  import string
 import urllib  import urllib
 import xml.dom.minidom  import xml.dom.minidom
   
 ZOGIVERSION = "0.10.1b ROC 8.11.2005"  ZOGIVERSION = "0.10.2b ROC 15.6.2006"
   
 def cropf(f):  def cropf(f):
     """returns a float with reduced precision"""      """returns a float with reduced precision"""
     return float(int(f * 10000)/10000.0)      return float(int(f * 10000)/10000.0)
   
   
 def sendFile(self, filename, type):  
     """sends an object or a local file (from the product) as response"""  
     paths = filename.split('/')  
     object = self  
     # look for an object called filename  
     for path in paths:  
         if hasattr(object, path):  
             object = getattr(object, path)  
         else:  
             object = None  
             break  
     if object:  
         # if the object exists then send it  
         return object.index_html(self.REQUEST.REQUEST, self.REQUEST.RESPONSE)  
     else:  
         # send a local file with the given content-type  
         fn = os.path.join(package_home(globals()), filename)  
         self.REQUEST.RESPONSE.setHeader("Content-Type", type)  
         self.REQUEST.RESPONSE.write(file(fn).read())  
     return  
   
 def browserCheck(self):  def browserCheck(self):
     """check the browsers request to find out the browser type"""      """check the browsers request to find out the browser type"""
     bt = {}      bt = {}
Line 184  class zogiLib(Folder): Line 163  class zogiLib(Folder):
     main_book      = PageTemplateFile('zpt/main_book', globals())      main_book      = PageTemplateFile('zpt/main_book', globals())
     main_image     = PageTemplateFile('zpt/main_image', globals())      main_image     = PageTemplateFile('zpt/main_image', globals())
     main_metaData  = PageTemplateFile('zpt/main_metadata', globals())      main_metaData  = PageTemplateFile('zpt/main_metadata', globals())
     main_static    = PageTemplateFile('zpt/main_static', globals())      #main_static    = PageTemplateFile('zpt/main_static', globals())
     options        = PageTemplateFile('zpt/options', globals())      options        = PageTemplateFile('zpt/options', globals())
     changeForm     = PageTemplateFile('zpt/changeForm', globals())      changeForm     = PageTemplateFile('zpt/changeForm', globals())
   
 # display templates  # display templates
     aux_divs           = PageTemplateFile('zpt/aux_divs', globals())      aux_divs           = PageTemplateFile('zpt/aux_divs', globals())
     aux_divsN4         = PageTemplateFile('zpt/aux_divsN4', globals())      #aux_divsN4     = PageTemplateFile('zpt/aux_divsN4', globals())
     img_div        = PageTemplateFile('zpt/img_div', globals())      img_div        = PageTemplateFile('zpt/img_div', globals())
           
 # javascripts  # javascripts
Line 343  class zogiLib(Folder): Line 322  class zogiLib(Folder):
         """get DLInfo from digilib server"""          """get DLInfo from digilib server"""
         paramH={}          paramH={}
         baseUrl=self.getDLBaseUrl()+"/dlInfo-xml.jsp"          baseUrl=self.getDLBaseUrl()+"/dlInfo-xml.jsp"
         print "getdlinfo: ", baseUrl          #print "getdlinfo: ", baseUrl
         try:          try:
             url=urllib.urlopen(baseUrl+'?'+self.getAllDLParams())              url=urllib.urlopen(baseUrl+'?'+self.getAllDLParams())
             dom=xml.dom.minidom.parse(url)              dom=xml.dom.minidom.parse(url)
Line 365  class zogiLib(Folder): Line 344  class zogiLib(Folder):
             url += otherbase              url += otherbase
         else:          else:
             url += self.basePath              url += self.basePath
         # should end with "/"          # should still end with "/"
         if len(url) > 0 and url[-1] != '/':          if len(url) > 0 and url[-1] != '/':
             url += '/'              url += '/'
         return url          return url
Line 413  class zogiLib(Folder): Line 392  class zogiLib(Folder):
     def createScalerImg(self, requestString=None, bottom=0, side=0, width=500, height=500):      def createScalerImg(self, requestString=None, bottom=0, side=0, width=500, height=500):
         """generate Scaler IMG Tag"""          """generate Scaler IMG Tag"""
         self.checkQuery()          self.checkQuery()
         bt = self.REQUEST.SESSION['browserType']          bt = self.getBrowserType()
         # override with parameters from session          # override with parameters from session
         if  self.REQUEST.SESSION.has_key('scalerDiv'):          if  self.REQUEST.SESSION.has_key('scalerDiv'):
             (requestString, bottom, side, width, height) = self.REQUEST.SESSION['scalerDiv']              (requestString, bottom, side, width, height) = self.REQUEST.SESSION['scalerDiv']
Line 468  class zogiLib(Folder): Line 447  class zogiLib(Folder):
                   
         if not hasattr(self, 'template'):          if not hasattr(self, 'template'):
             # create template folder if it doesn't exist              # create template folder if it doesn't exist
             print "no template folder"              print "no template folder -- creating"
             self.manage_addFolder('template')              self.manage_addFolder('template')
                           
         print "template!"  
         pt = getattr(self.template, 'main_'+tpt)          pt = getattr(self.template, 'main_'+tpt)
         return pt()          return pt()
   
Line 479  class zogiLib(Folder): Line 457  class zogiLib(Folder):
         """make shure that the query has been saved"""          """make shure that the query has been saved"""
         if not self.REQUEST.has_key('dlParams'):          if not self.REQUEST.has_key('dlParams'):
             self.storeQuery()              self.storeQuery()
         if not self.REQUEST.SESSION.has_key('browserType'):  
             bt = browserCheck(self)  
             self.REQUEST.SESSION.set('browserType', bt)              
   
     def storeQuery(self, more=None, withpt=False):      def storeQuery(self, more=None, withpt=False):
         """parse query parameters into a hash in REQUEST"""          """parse query parameters into a hash in REQUEST"""
Line 564  class zogiLib(Folder): Line 539  class zogiLib(Folder):
                           
         return self.display()          return self.display()
   
       def getBrowserType(self):
           """get browser type object"""
           if self.REQUEST.SESSION.has_key('browserType'):
               return self.REQUEST.SESSION['browserType']
           else:
               bt = browserCheck(self)
               self.REQUEST.SESSION.set('browserType', bt)                        
               return bt
   
   
     def display(self):      def display(self):
         """(re)display page"""          """(re)display page"""
Line 587  class zogiLib(Folder): Line 571  class zogiLib(Folder):
         """returns dlTarget"""          """returns dlTarget"""
         self.checkQuery()          self.checkQuery()
         s = self.dlTarget          s = self.dlTarget
         if s == None:          if (s is None) or (s == ""):
             s = ""  #            s = ""
 #         s = 'dl'              s = 'dl'
 #         if self.getDLParam('fn'):              if self.getDLParam('fn'):
 #             s += "_" + self.getDLParam('fn')                  s += "_" + self.getDLParam('fn')
 #         if self.getDLParam('pn'):              if self.getDLParam('pn'):
 #             s += "_" + self.getDLParam('pn')                  s += "_" + self.getDLParam('pn')
   
         return s          return s
   
     def getPN(self):      def getPN(self):
         """pagenums"""          """pagenumber"""
         pn = int(self.getDLParam('pn', 1))          pn = int(self.getDLParam('pn', 1))
         return pn          return pn
           
     def getPT(self):      def getPT(self):
         """pagenums"""          """number of total pages"""
         pt = self.getDLParam('pt', None)          pt = self.getDLParam('pt', None)
         if pt is None:          if pt is None:
             # get pt from dlInfo              # get pt from dlInfo
Line 656  class zogiLib(Folder): Line 641  class zogiLib(Folder):
     def dl_StaticHTML(self):      def dl_StaticHTML(self):
         """set rendering to static HTML"""          """set rendering to static HTML"""
         self.checkQuery()          self.checkQuery()
         self.REQUEST.SESSION['browserType']['staticHTML'] = True          self.getBrowserType()['staticHTML'] = True
         return self.display()          return self.display()
   
     def dl_DynamicHTML(self):      def dl_DynamicHTML(self):
         """set rendering to dynamic HTML"""          """set rendering to dynamic HTML"""
         self.checkQuery()          self.checkQuery()
         self.REQUEST.SESSION['browserType']['staticHTML'] = False          self.getBrowserType()['staticHTML'] = False
         return self.display()          return self.display()
                   
     def dl_HMirror(self):      def dl_HMirror(self):
Line 880  def manage_addZogiLibPageTemplateForm(se Line 865  def manage_addZogiLibPageTemplateForm(se
     pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/addZogiLibPageTemplateForm')).__of__(self)      pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/addZogiLibPageTemplateForm')).__of__(self)
     return pt()      return pt()
   
 def manage_addZogiLibPageTemplate(self, id='zogiLibMainTemplate', title=None, layout=None, text=None,  def manage_addZogiLibPageTemplate(self, title=None, layout=None, text=None,
                            REQUEST=None, submit=None):                             REQUEST=None, submit=None):
     "Add a Page Template with optional file content."      "Add a Page Template with optional file content."
   
     id = str(id)      if not layout: layout = "book"
       id = 'main_%s'%layout
     self._setObject(id, zogiLibPageTemplate(id))      self._setObject(id, zogiLibPageTemplate(id))
     ob = getattr(self, id)      ob = getattr(self, id)
     if not layout: layout = "book"      ob.pt_edit(open(os.path.join(package_home(globals()),'zpt/main_%s.zpt'%layout)).read(),None)
     ob.pt_edit(open(os.path.join(package_home(globals()),'zpt/zogiLibMain_%s.zpt'%layout)).read(),None)  
     if title:      if title:
         ob.pt_setTitle(title)          ob.pt_setTitle(title)
     try:      try:
         u = self.DestinationURL()          url = self.DestinationURL()
     except AttributeError:      except AttributeError:
         u = REQUEST['URL1']          url = REQUEST['URL1']
                   
     u = "%s/%s" % (u, urllib.quote(id))      url = "%s/%s" % (url, urllib.quote(id))
     REQUEST.RESPONSE.redirect(u+'/manage_main')      REQUEST.RESPONSE.redirect(url+'/manage_main')
     return ''      return ''
   

Removed from v.1.60  
changed lines
  Added in v.1.63


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