Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.82 and 1.86

version 1.82, 2006/04/24 16:09:52 version 1.86, 2006/05/17 21:42:19
Line 80  class ZSQLExtendFolder(Folder,Persistent Line 80  class ZSQLExtendFolder(Folder,Persistent
         """quote str for sql"""          """quote str for sql"""
         return sql_quote(str)          return sql_quote(str)
           
       
       def normalizeField(self,table,fieldname, newFieldName=None,mode="alter", RESPONSE=None):
           """normalize a field"""
           import unicodedata
           
           if not newFieldName:
               newFieldName=fieldname+"_normal"
               
           def normal(str):
               if str:
                   return unicodedata.normalize('NFKD', str.decode('utf-8')).encode('ASCII', 'ignore')
               else:
                   return ""
           if mode=="create": # create the field
               qstr="""alter table %s add %s %s"""
               self.ZSQLSimpleSearch(qstr%(table,newFieldName,'text'))
           
           qstr="select oid,%s from %s"%(fieldname,table)
           for result in self.ZSQLSimpleSearch(qstr):
               qstr="update %s set %s = %s where oid = %s"
   
               self.ZSQLSimpleSearch(qstr%(table,newFieldName,self.ZSQLQuote(normal(getattr(result,fieldname))),result.oid))
           
     def importAccessModell(self,configFileName,RESPONSE=None):      def importAccessModell(self,configFileName,RESPONSE=None):
         """import tables from access          """import tables from access
         @param configFileName: xml-configfile          @param configFileName: xml-configfile
Line 706  class ZSQLExtendFolder(Folder,Persistent Line 729  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 716  class ZSQLExtendFolder(Folder,Persistent Line 739  class ZSQLExtendFolder(Folder,Persistent
             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():
               if a[0]=="-":
                   key="_"+a[1:]
               else:
                   key=a
             try:              try:
                 qs.append(a+"="+urllib.quote(str(argv[a])))                  qs.append(key+"="+urllib.quote(str(argTmp[a])))
             except:              except:
                 import urllib                  import urllib
                 qs.append(a+"="+urllib.quote(str(argv[a])))                  qs.append(key+"="+urllib.quote(str(argTmp[a])))
                                   
         #return []            #return []  
         return self.parseQueryString(string.join(qs,","),"_",storename=storename)          return self.parseQueryString(string.join(qs,","),"_",storename=storename)
Line 749  class ZSQLExtendFolder(Folder,Persistent Line 780  class ZSQLExtendFolder(Folder,Persistent
   
     def ZSQLSimpleSearch(self,query=None,max_rows=1000000,debug=None):      def ZSQLSimpleSearch(self,query=None,max_rows=1000000,debug=None):
         """simple search"""          """simple search"""
           print query 
   
         if not query:          if not query:
             query=self.query              query=self.query
Line 815  class ZSQLExtendFolder(Folder,Persistent Line 846  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"""
                           
         qs_temp=[]          qs_temp=[]
Line 825  class ZSQLExtendFolder(Folder,Persistent Line 856  class ZSQLExtendFolder(Folder,Persistent
   
         qs=string.join(qs_temp,",")          qs=string.join(qs_temp,",")
                   
         for field in argv.keys():          if args:
               argTmp=args
           else:
               argTmp=argv
               
           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 865  class ZSQLExtendFolder(Folder,Persistent Line 901  class ZSQLExtendFolder(Folder,Persistent
         else:          else:
             return True              return True
                   
     def ZSQLChange(self,format=None,RESPONSE=None,USE_FORM=None,**argv):      def ZSQLChange(self,format=None,RESPONSE=None,USE_FORM=None,args=None,**argv):
         """change entries"""          """change entries"""
         #qs=self.REQUEST['QUERY_STRING']          #qs=self.REQUEST['QUERY_STRING']
         # very bad hack          # very bad hack
                   print args
         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])))
   
                   
           if args:
               argTmp=args
           else:    
               argTmp=argv
                   
         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_temp.append("%s=%s"%(fieldTmp,argv[field]))                     qs_temp.append("%s=%s"%(fieldTmp,argTmp[field]))
                   
                   
         changeList=[]          changeList=[]
Line 1064  class ZSQLExtendFolder(Folder,Persistent Line 1104  class ZSQLExtendFolder(Folder,Persistent
         else:          else:
             storename="foundCount"              storename="foundCount"
                   
         return str(min(int(self.REQUEST.SESSION[storename]['rangeEnd']),int(self.REQUEST.SESSION[storename]['count'])))          return str(min(int(self.REQUEST.SESSION[storename]['rangeEnd'])+1,int(self.REQUEST.SESSION[storename]['count'])))
   
     def ZSQLNewQuery(self,linkText,storename=None,**argv):      def ZSQLNewQuery(self,linkText,storename=None,**argv):
         """suche neu"""          """suche neu"""

Removed from v.1.82  
changed lines
  Added in v.1.86


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