Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.5 and 1.8

version 1.5, 2004/01/21 16:54:45 version 1.8, 2004/01/27 13:32:22
Line 25  class ZSQLExtendFolder(Persistent, Impli Line 25  class ZSQLExtendFolder(Persistent, Impli
                   
     def ZSQLisEmpty(self,field):      def ZSQLisEmpty(self,field):
         """Teste ob Treffer leer"""          """Teste ob Treffer leer"""
         print "field",field          #print "field",field
         if not field:          if not field:
             return 1              return 1
         if field=="":          if field=="":
             return 1              return 1
         return 0          return 0
   
     def ZSQLsearchOptions(self):      def ZSQLsearchOptions(self,fieldname=""):
         """return HTML Fragment with search options"""          """return HTML Fragment with search options"""
         ret="""<select name="-op">      
           ret="""<select name="-op_%s">
     <option value="bw">begins with</option>             <!-- begins with / beginnt mit, "Wort*" -->      <option value="bw">begins with</option>             <!-- begins with / beginnt mit, "Wort*" -->
     <option value="ew">ends with</option>      <option value="ew">ends with</option>
     <option value="cn">contains</option>                <!-- contains / enthaellt, "Wort" -->      <option value="ct" selected>contains</option>               <!-- contains / enthaellt, "Wort" -->
     <option value="eq">equals</option>                  <!-- equals / ist, =Wort -->      <option value="eq">equals</option>                  <!-- equals / ist, =Wort -->
 </select>"""  </select>"""%fieldname
         return ret          return ret
           
     def ZSQLInlineSearch(self,storename=None,**argv):      def ZSQLInlineSearch(self,storename=None,**argv):
Line 56  class ZSQLExtendFolder(Persistent, Impli Line 57  class ZSQLExtendFolder(Persistent, Impli
         for a in argv.keys():          for a in argv.keys():
             qs.append(a+"="+urllib.quote(str(argv[a])))              qs.append(a+"="+urllib.quote(str(argv[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 172  class ZSQLExtendFolder(Persistent, Impli Line 174  class ZSQLExtendFolder(Persistent, Impli
         else:          else:
             qs=string.join(qs.split("&"),",")              qs=string.join(qs.split("&"),",")
   
   
         qs=re.sub("\\+"," ",qs)# Austauschen da Leerzeichen bei http-get durch + ersetzt wird, generell sollte alles auf post umgeschrieben werden. vom search formular.          qs=re.sub("\\+"," ",qs)# Austauschen da Leerzeichen bei http-get durch + ersetzt wird, generell sollte alles auf post umgeschrieben werden. vom search formular.
         #print "QS",qs          #print "QS",qs
         if storename:          if storename:
Line 248  class ZSQLExtendFolder(Persistent, Impli Line 251  class ZSQLExtendFolder(Persistent, Impli
         opfields={}          opfields={}
         skip=""          skip=""
         rangeStart=0          rangeStart=0
           limit="all"
           max = "LIMIT all"
                   
         if not select:          if not select:
             select="*"              select="*"
         #print "Q",nostore,qs          #print "Q",nostore,qs
         #check for op in the case of inline search          #check for op in the case of inline search
         if iCT=="_":                      
             for q in qs.split(","):      splitted=qs.split(",")
       
               
           for q in splitted:
                                   
                 name=re.sub("r'+'"," ",q.split("=")[0].lower())                  name=re.sub("r'+'"," ",q.split("=")[0].lower())
                 value=urllib.unquote(q.split("=")[1])                  value=urllib.unquote(q.split("=")[1])
Line 264  class ZSQLExtendFolder(Persistent, Impli Line 272  class ZSQLExtendFolder(Persistent, Impli
                     field=name[4:]                      field=name[4:]
                     opfields[field]=op                      opfields[field]=op
   
       #print opfieldsa
         #now analyse the querystring          #now analyse the querystring
         for q in qs.split(","):          for q in qs.split(","):
                           
Line 301  class ZSQLExtendFolder(Persistent, Impli Line 310  class ZSQLExtendFolder(Persistent, Impli
   
   
             elif (not name[0]==iCT) and (not len(value)==0):              elif (not name[0]==iCT) and (not len(value)==0):
                 name="LOWER("+name+")"                  
           #print "OP",op,name
                 value=value.lower()                  value=value.lower()
                 if opfields.has_key(name):                  if opfields.has_key(name):
                     op=opfields[name]                      op=opfields[name]
           else:
               op="ct"
           name="LOWER("+name+")"    
                 if op=="ct":                  if op=="ct":
                     whereList.append(name+" LIKE "+libpq.PgQuoteString("%"+value+"%"))                      whereList.append(name+" LIKE "+libpq.PgQuoteString("%"+value+"%"))
                 elif op=="gt":                  elif op=="gt":
Line 327  class ZSQLExtendFolder(Persistent, Impli Line 340  class ZSQLExtendFolder(Persistent, Impli
             where=""              where=""
         #print "QE",table          #print "QE",table
                   
         query="SELECT %s FROM %s %s %s %s %s"%(select,table,where,sort,max,skip)          query="SELECT oid,%s FROM %s %s %s %s %s"%(select,table,where,sort,max,skip)
         if not nostore=="yes":          if not nostore=="yes":
                           
             self.REQUEST.SESSION['qs']=opfields              self.REQUEST.SESSION['qs']=opfields
         print "IAMHERE again:", query          #print "IAMHERE again:", query
   
         if storename:          if storename:
             query2="SELECT count(%s) FROM %s %s"%(select,table,where)              
               query2="SELECT count(*) FROM %s %s"%(table,where)
             #print "storing",query2              #print "storing",query2
             #print "QUERYSTRING:",self.REQUEST.SESSION[storename]['queryString2']              #print "QUERYSTRING:",self.REQUEST.SESSION[storename]['queryString2']
             if not self.REQUEST.SESSION.has_key(storename):              if not self.REQUEST.SESSION.has_key(storename):
Line 360  class ZSQLExtendFolder(Persistent, Impli Line 374  class ZSQLExtendFolder(Persistent, Impli
                 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
                           
                   #print "HELLO",query            
         return self.search(var=query)          return self.search(var=query)
           
     def ZSQLSearch(self):      def ZSQLSearch(self):

Removed from v.1.5  
changed lines
  Added in v.1.8


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