Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.74 and 1.90

version 1.74, 2005/11/23 17:41:28 version 1.90, 2006/08/29 17:44:07
Line 67  class ZSQLExtendFolder(Folder,Persistent Line 67  class ZSQLExtendFolder(Folder,Persistent
     """Folder"""      """Folder"""
     meta_type="ZSQLExtendFolder"      meta_type="ZSQLExtendFolder"
           
       def ZSQLQuote(self,str):
           """quote str for sql"""
           return sql_quote(str)
       
       
     def importXMLFile(self,table,containerTagName,file,identify=None,RESPONSE=None):      def importXMLFile(self,table,containerTagName,file,identify=None,RESPONSE=None):
         #TODO: finish importXMLFile          #TODO: finish importXMLFile
         '''          '''
Line 364  class ZSQLExtendFolder(Folder,Persistent Line 369  class ZSQLExtendFolder(Folder,Persistent
             field=getattr(result,fieldName)              field=getattr(result,fieldName)
             fieldValue=getattr(result,valueName)              fieldValue=getattr(result,valueName)
             if fieldValue:              if fieldValue:
   
                 if not linelen:                  if not linelen:
   
                       
                       if field == selected:
   
                           ret+="""<option value="%s" selected>%s</option>"""%(field,fieldValue)
                       else:
                     ret+="""<option value="%s">%s</option>"""%(field,fieldValue)                      ret+="""<option value="%s">%s</option>"""%(field,fieldValue)
   
                 else:                  else:
                     mist = """%s"""%(fieldValue)                      mist = """%s"""%(fieldValue)
                     if len(mist) > string.atoi(linelen):                      if len(mist) > string.atoi(linelen):
Line 375  class ZSQLExtendFolder(Folder,Persistent Line 388  class ZSQLExtendFolder(Folder,Persistent
         return ret          return ret
   
                           
     def ZSQLInlineSearchU(self,storename=None,**argv):      def ZSQLInlineSearchU(self,storename=None,args=None,**argv):
         """one element if exists"""          """one element if exists"""
         qs=[]          qs=[]
         if storename:          if storename:
Line 384  class ZSQLExtendFolder(Folder,Persistent Line 397  class ZSQLExtendFolder(Folder,Persistent
         else:          else:
             storename="foundCount"              storename="foundCount"
                           
           if args:
               argTmp=args
           else:
               argTmp=argv
           
   
         #print "INLINE:",argv          #print "INLINE:",argv
         for a in argv.keys():          for a in argTmp.keys():
             qs.append(a+"="+urllib.quote(str(argv[a])))              qs.append(a+"="+urllib.quote(str(argTmp[a])))
         #return []            #return []  
         ret = self.parseQueryString(string.join(qs,","),"_",storename=storename)          ret = self.parseQueryString(string.join(qs,","),"_",storename=storename)
   
Line 397  class ZSQLExtendFolder(Folder,Persistent Line 414  class ZSQLExtendFolder(Folder,Persistent
         except:          except:
             return None              return None
                   
     def ZSQLInlineSearch(self,storename=None,**argv):      def ZSQLInlineSearch(self,storename=None,args=None,**argv):
         """inlinesearch"""          """inlinesearch"""
                   
         qs=[]          qs=[]
Line 408  class ZSQLExtendFolder(Folder,Persistent Line 425  class ZSQLExtendFolder(Folder,Persistent
                           
           
   
           if args:
               argTmp=args
           else:
               argTmp=argv
   
   
         #print "INLINE:",argv          #print "INLINE:",argv
         for a in argv.keys():          for a in argTmp.keys():
             try:              try:
                 qs.append(a+"="+urllib.quote(str(argv[a])))                  qs.append(a+"="+urllib.quote(str(argTmp[a])))
             except:              except:
                 import urllib                  import urllib
                 qs.append(a+"="+urllib.quote(str(argv[a])))                  qs.append(a+"="+urllib.quote(str(argTmp[a])))
                                   
         #return []            #return []  
   
         return self.parseQueryString(string.join(qs,","),"_",storename=storename)          return self.parseQueryString(string.join(qs,","),"_",storename=storename)
   
     def ZSQLInlineSearch2(self,query):      def ZSQLInlineSearch2(self,query):
Line 427  class ZSQLExtendFolder(Folder,Persistent Line 451  class ZSQLExtendFolder(Folder,Persistent
         return self.ZSQLSimpleSearch(query)          return self.ZSQLSimpleSearch(query)
           
           
       def ZSQLResetConnection(self):
           """reset the connectione"""
           try:
               self.getConnectionObj().manage_close_connection()
           except:
               zLOG.LOG("ZSQLResetConnection",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])
           try:
               self.getConnectionObj().manage_open_connection()
           except:
               zLOG.LOG("ZSQLResetConnection",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])
   
     def ZSQLSimpleSearch(self,query=None,max_rows=1000000):      def ZSQLSimpleSearch(self,query=None,max_rows=1000000):
         """simple search"""          """simple search"""
                   
   
         if not query:          if not query:
             query=self.query              query=self.query
                   
           
         if (hasattr(self,"_v_searchSQL") and (self._v_searchSQL == None)) or (not hasattr(self,"_v_searchSQL")):          if (hasattr(self,"_v_searchSQL") and (self._v_searchSQL == None)) or (not hasattr(self,"_v_searchSQL")):
                           
             self._v_searchSQL=Shared.DC.ZRDB.DA.DA("_v_searchSQL","_v_searchSQL",self.getConnectionObj().getId(),"var","<dtml-var var>")              self._v_searchSQL=Shared.DC.ZRDB.DA.DA("_v_searchSQL","_v_searchSQL",self.getConnectionObj().getId(),"var","<dtml-var var>")
                           
             self._v_searchSQL.max_rows_=max_rows              self._v_searchSQL.max_rows_=max_rows
             try:              try:
                   
                 return self._v_searchSQL.__call__(var=query)                  return self._v_searchSQL.__call__(var=query)
             except :              except :
   
                 if sys.exc_info()[0]=="Database Error":                  if sys.exc_info()[0]=="Database Error":
                     try:                      try:
                         self.getConnectionObj().manage_open_connection()                          self.getConnectionObj().manage_open_connection()
Line 449  class ZSQLExtendFolder(Folder,Persistent Line 486  class ZSQLExtendFolder(Folder,Persistent
                         zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])                          zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2])
         else:          else:
             try:              try:
   
                 self._v_searchSQL.max_rows_=max_rows                  self._v_searchSQL.max_rows_=max_rows
                                   
                 return self._v_searchSQL.__call__(var=query)                  return self._v_searchSQL.__call__(var=query)
             except :              except :
   
                 if sys.exc_info()[0]=="Database Error":                  if sys.exc_info()[0]=="Database Error":
                     try:                      try:
                         self.getConnectionObj().manage_open_connection()                          self.getConnectionObj().manage_open_connection()
Line 490  class ZSQLExtendFolder(Folder,Persistent Line 529  class ZSQLExtendFolder(Folder,Persistent
           
                   
                   
     def ZSQLAdd(self,format=None,RESPONSE=None,**argv):      def ZSQLAdd(self,format=None,RESPONSE=None,args=None,**argv):
         """Neuer Eintrag"""          """Neuer Eintrag"""
                           
       if args:
               argTmp=args
           else:
               argTmp=argv
   
         qs_temp=[]          qs_temp=[]
           
         for a in self.REQUEST.form.keys():          for a in self.REQUEST.form.keys():
Line 500  class ZSQLExtendFolder(Folder,Persistent Line 544  class ZSQLExtendFolder(Folder,Persistent
   
         qs=string.join(qs_temp,",")          qs=string.join(qs_temp,",")
                   
         for field in argv.keys():          for field in argTmp.keys():
                    if field[0]=="_":                     if field[0]=="_":
                        fieldTmp="-"+field[1:]                         fieldTmp="-"+field[1:]
                    else:                     else:
                        fieldTmp=field                         fieldTmp=field
                                                 
                    qs+=",%s=%s"%(fieldTmp,argv[field])                     qs+=",%s=%s"%(fieldTmp,argTmp[field])
                   
                   
         addList={}          addList={}
Line 548  class ZSQLExtendFolder(Folder,Persistent Line 592  class ZSQLExtendFolder(Folder,Persistent
         qs_temp=[]          qs_temp=[]
         if USE_FORM or RESPONSE:          if USE_FORM or RESPONSE:
             for a in self.REQUEST.form.keys():              for a in self.REQUEST.form.keys():
           
                 qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a])))                  qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a])))
   
                   
Line 578  class ZSQLExtendFolder(Folder,Persistent Line 623  class ZSQLExtendFolder(Folder,Persistent
                 identify=identify.split("=")[0]+"="+sql_quote(identify.split("=")[1])                  identify=identify.split("=")[0]+"="+sql_quote(identify.split("=")[1])
             elif name=="-format":              elif name=="-format":
                 format=urllib.unquote(value)                  format=urllib.unquote(value)
             elif (not (name[0]=="-" or name[0]=="_")) and (not len(value)==0):              #elif (not (name[0]=="-" or name[0]=="_")) and (not len(value)==0):
               elif (not (name[0]=="-" or name[0]=="_")):
   
                 changeList.append("\""+name+"\"="+sql_quote(urllib.unquote(value)))                  changeList.append("\""+name+"\"="+sql_quote(urllib.unquote(value)))
                                   
         changeString=string.join(changeList,",")          changeString=string.join(changeList,",")
   
         queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)          queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)
           zLOG.LOG("ZSQLExtend",zLOG.INFO,"CHANGE: "+queryString)
                   
         self.ZSQLSimpleSearch(queryString)          self.ZSQLSimpleSearch(queryString)
                   
Line 1079  class ZSQLExtendFolder(Folder,Persistent Line 1128  class ZSQLExtendFolder(Folder,Persistent
                 self.REQUEST.SESSION[storename]['rangeEnd']=int(rangeStart)+int(limit)                  self.REQUEST.SESSION[storename]['rangeEnd']=int(rangeStart)+int(limit)
             self.REQUEST.SESSION[storename]['rangeSize']=limit              self.REQUEST.SESSION[storename]['rangeSize']=limit
             self.REQUEST.SESSION[storename]['searchFields']=searchFields              self.REQUEST.SESSION[storename]['searchFields']=searchFields
   
             self.REQUEST.SESSION[storename]['searchFieldsOnly']=searchFieldsOnly              self.REQUEST.SESSION[storename]['searchFieldsOnly']=searchFieldsOnly
   
         if not NoQuery:          if not NoQuery:
Line 1567  class ZSQLBibliography(Folder,ZSQLExtend Line 1617  class ZSQLBibliography(Folder,ZSQLExtend
         host_port = self.REQUEST['SERVER_PORT']          host_port = self.REQUEST['SERVER_PORT']
         fix_host = None          fix_host = None
         if http_host and http_host.rfind(host_port) == -1:          if http_host and http_host.rfind(host_port) == -1:
             print "HTTP_HOST needs fixing!"              #print "HTTP_HOST needs fixing!"
             fix_host = http_host + ":" + host_port              fix_host = http_host + ":" + host_port
                   
         ret="""<?xml version="1.0" ?>          ret="""<?xml version="1.0" ?>

Removed from v.1.74  
changed lines
  Added in v.1.90


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