Diff for /ZSQLExtend/ZSQLExtend.py between versions 1.21 and 1.28

version 1.21, 2004/07/12 17:01:55 version 1.28, 2004/07/26 15:43:26
Line 10  from AccessControl import getSecurityMan Line 10  from AccessControl import getSecurityMan
 import os.path  import os.path
 from Products.PageTemplates.PageTemplateFile import PageTemplateFile  from Products.PageTemplates.PageTemplateFile import PageTemplateFile
   
   from Products.ZSQLMethods.SQL import SQLConnectionIDs
   import Shared.DC.ZRDB.DA
   
   def showSQLConnectionIDs(self):
       return SQLConnectionIDs(self)
   
 class ZSQLExtendFolder(Persistent, Implicit, Folder):  class ZSQLExtendFolder(Folder,Persistent, Implicit):
     """Folder"""      """Folder"""
     meta_type="ZSQLExtendFolder"      meta_type="ZSQLExtendFolder"
   
Line 60  class ZSQLExtendFolder(Persistent, Impli Line 64  class ZSQLExtendFolder(Persistent, Impli
         return pt()          return pt()
   
   
     def changeZSQLExtend(self,label,description,weight=0,REQUEST=None):      def changeZSQLExtend(self,label,description,weight=0,REQUEST=None,connection_id=None):
         """change it"""          """change it"""
           self.connection_id=connection_id
         self.weight=weight          self.weight=weight
         self.label=label          self.label=label
         self.description=description          self.description=description
Line 187  class ZSQLExtendFolder(Persistent, Impli Line 191  class ZSQLExtendFolder(Persistent, Impli
         return ret          return ret
   
                           
       def ZSQLInlineSearchU(self,storename=None,**argv):
           """one element if exists"""
           qs=[]
           if storename:
               """store"""
           else:
               storename="foundCount"
               
       
   
           #print "INLINE:",argv
           for a in argv.keys():
               qs.append(a+"="+urllib.quote(str(argv[a])))
           #return []  
           ret = self.parseQueryString(string.join(qs,","),"_",storename=storename)
   
           try:
               return ret[0]
           except:
               return None
           
     def ZSQLInlineSearch(self,storename=None,**argv):      def ZSQLInlineSearch(self,storename=None,**argv):
         """inlinesearch"""          """inlinesearch"""
Line 211  class ZSQLExtendFolder(Persistent, Impli Line 235  class ZSQLExtendFolder(Persistent, Impli
           
   
         #print "INLINE:",query          #print "INLINE:",query
           return self.ZSQLSimpleSearch(var=query)
           
   
       def ZSQLSimpleSearch(self,query=None):
           """ returrn SQLSearch"""
           if not query:
               query=self.query
                   
           if self.search.meta_type=="Z SQL Method":
         return self.search(var=query)          return self.search(var=query)
           else:
               if self.aq_parent.aq_parent.search.meta_type=="Z SQL Method":
                   return self.aq_parent.aq_parent.search(var=query)
               else:
                   return []
       
           
           
     def ZSQLAdd(self):      def ZSQLAdd(self):
         """Neuer Eintrag"""          """Neuer Eintrag"""
Line 240  class ZSQLExtendFolder(Persistent, Impli Line 279  class ZSQLExtendFolder(Persistent, Impli
         valueString=string.join(valueList,",")          valueString=string.join(valueList,",")
                   
         queryString="INSERT INTO %s (%s) VALUES (%s)"%(table,keyString,valueString)          queryString="INSERT INTO %s (%s) VALUES (%s)"%(table,keyString,valueString)
         self.search(var=queryString)          self.ZSQLSimpleSearch(var=queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
                   
     def ZSQLChange(self,**argv):      def ZSQLChange(self,**argv):
Line 274  class ZSQLExtendFolder(Persistent, Impli Line 313  class ZSQLExtendFolder(Persistent, Impli
                 changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))                  changeList.append("\""+name+"\"="+libpq.PgQuoteString(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)
         self.search(var=queryString)          self.ZSQLSimpleSearch(var=queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
   
     def ZSQLChange_old(self):      def ZSQLChange_old(self):
Line 299  class ZSQLExtendFolder(Persistent, Impli Line 338  class ZSQLExtendFolder(Persistent, Impli
                 changeList.append("\""+name+"\"="+libpq.PgQuoteString(urllib.unquote(value)))                  changeList.append("\""+name+"\"="+libpq.PgQuoteString(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)
         self.search(var=queryString)          self.ZSQLSimpleSearch(var=queryString)
         return self.REQUEST.RESPONSE.redirect(format)          return self.REQUEST.RESPONSE.redirect(format)
           
     def ZSQLFind(self,qs="",select="oid,*",storename=None,**argv):      def ZSQLFind(self,qs="",select="oid,*",storename=None,**argv):
Line 327  class ZSQLExtendFolder(Persistent, Impli Line 366  class ZSQLExtendFolder(Persistent, Impli
            else:             else:
                                 
                qs=self.REQUEST.SESSION['query']                 qs=self.REQUEST.SESSION['query']
                  for field in argv.keys():
                      #print field
                      qs+=",-%s=%s"%(field,argv[field])
                                 
         else:          else:
             self.REQUEST['QUERY_STRING']=qs              self.REQUEST['QUERY_STRING']=qs
Line 403  class ZSQLExtendFolder(Persistent, Impli Line 445  class ZSQLExtendFolder(Persistent, Impli
         else:          else:
             storename="foundCount"              storename="foundCount"
                   
         return self.REQUEST.SESSION[storename]['rangeEnd']          return str(min(int(self.REQUEST.SESSION[storename]['rangeEnd']),int(self.REQUEST.SESSION[storename]['count'])))
           
     def parseQueryString(self,qs,iCT,storemax="no",select=None,nostore=None,storename=None):      def parseQueryString(self,qs,iCT,storemax="no",select=None,nostore=None,storename=None):
         """analysieren den QueryString"""          """analysieren den QueryString"""
Line 535  class ZSQLExtendFolder(Persistent, Impli Line 577  class ZSQLExtendFolder(Persistent, Impli
                 if not self.REQUEST.SESSION[storename]['queryString2']==query2:                  if not self.REQUEST.SESSION[storename]['queryString2']==query2:
                     #print "HOOOOO",storename                      #print "HOOOOO",storename
                     self.REQUEST.SESSION[storename]['queryString2']=query2                      self.REQUEST.SESSION[storename]['queryString2']=query2
                     self.REQUEST.SESSION[storename]['count']=self.search(var=query2)[0].count                      self.REQUEST.SESSION[storename]['count']=self.ZSQLSimpleSearch(var=query2)[0].count
                     #print "QUERY",query2,"::::",self.REQUEST.SESSION[storename]['queryString2']                      #print "QUERY",query2,"::::",self.REQUEST.SESSION[storename]['queryString2']
                                   
             else:              else:
                 self.REQUEST.SESSION[storename]['queryString2']=query2                  self.REQUEST.SESSION[storename]['queryString2']=query2
                 self.REQUEST.SESSION[storename]['count']=self.search(var=query2)[0].count                  self.REQUEST.SESSION[storename]['count']=self.ZSQLSimpleSearch(var=query2)[0].count
                 #print "QUERYNEW",self.REQUEST.SESSION[storename]['queryString2']                  #print "QUERYNEW",self.REQUEST.SESSION[storename]['queryString2']
                           
                           
Line 557  class ZSQLExtendFolder(Persistent, Impli Line 599  class ZSQLExtendFolder(Persistent, Impli
   
     def ZSQLQuery(self,query):      def ZSQLQuery(self,query):
         """query"""          """query"""
         return self.search(var=query)          return self.ZSQLSimpleSearch(var=query)
           
     def ZSQLSearch(self):      def ZSQLSearch(self):
         """To be done"""          """To be done"""
Line 603  class ZSQLExtendFolder(Persistent, Impli Line 645  class ZSQLExtendFolder(Persistent, Impli
                 limit="1"                  limit="1"
             newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])+int(limit)              newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])+int(limit)
         except:          except:
             limit=0              limit=1
             newRangeStart=0              newRangeStart=0
                           
         if newRangeStart>self.REQUEST.SESSION[storename]['count']:          if newRangeStart>=self.REQUEST.SESSION[storename]['count']:
             newRangeStart=self.REQUEST.SESSION[storename]['count']-10              #newRangeStart=self.REQUEST.SESSION[storename]['count']-1
               return ""
                   
         #create new query string          #create new query string
                   
Line 629  class ZSQLExtendFolder(Persistent, Impli Line 671  class ZSQLExtendFolder(Persistent, Impli
         skipFound=0          skipFound=0
                   
         for query in queries:          for query in queries:
             print query              
             #print query.split("=")[0]              #print query.split("=")[0]
             if query[0]=="_" : query[0]="-"              if query[0]=="_" : query[0]="-"
   
             if query.split("=")[0].lower()=="-skip":              if query.split("=")[0].lower()=="-skip":
                 print "d", newRangeStart  
                 skipFound=1                  skipFound=1
                 query="-skip=%i"%newRangeStart                  query="-skip=%i"%newRangeStart
             newquery.append(query)              newquery.append(query)
Line 656  class ZSQLExtendFolder(Persistent, Impli Line 698  class ZSQLExtendFolder(Persistent, Impli
                 limit="1"                  limit="1"
             newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])-int(limit)              newRangeStart=int(self.REQUEST.SESSION[storename]['rangeStart'])-int(limit)
         except:          except:
             limit=0              limit=1
             newRangeStart=0              newRangeStart=0
           if newRangeStart <0:
               return ""
   
         #print "limit",limit,newRangeStart,int(self.REQUEST.SESSION[storename]['rangeStart'])          #print "limit",limit,newRangeStart,int(self.REQUEST.SESSION[storename]['rangeStart'])
                   
Line 766  manage_addZSQLExtendFolderForm=DTMLFile( Line 810  manage_addZSQLExtendFolderForm=DTMLFile(
 def manage_addZSQLExtendFolder(self, id, title='', label='', description='',  def manage_addZSQLExtendFolder(self, id, title='', label='', description='',
                      createPublic=0,                       createPublic=0,
                      createUserF=0,                       createUserF=0,
                        connection_id=None,
                      REQUEST=None):                       REQUEST=None):
     """Add a new Folder object with id *id*.      """Add a new Folder object with id *id*.
   
Line 782  def manage_addZSQLExtendFolder(self, id, Line 827  def manage_addZSQLExtendFolder(self, id,
     ob=self._getOb(id)      ob=self._getOb(id)
     setattr(ob,'label',label)      setattr(ob,'label',label)
     setattr(ob,'description',description)      setattr(ob,'description',description)
       setattr(ob,'connection_id',connection_id)
           
     checkPermission=getSecurityManager().checkPermission      checkPermission=getSecurityManager().checkPermission
   
Line 887  class ZSQLBibliography(Folder,ZSQLExtend Line 933  class ZSQLBibliography(Folder,ZSQLExtend
             bibdata['data']=referenceTypeF[1]              bibdata['data']=referenceTypeF[1]
             self.fields=bibdata[referenceType]              self.fields=bibdata[referenceType]
                         for field in fieldlist:                          for field in fieldlist:
                       if referenceTypeF[1].getValue(field)[0]==None:
                   retdata[field]=field
                   else:
                             retdata[field]=referenceTypeF[1].getValue(field)[0]                              retdata[field]=referenceTypeF[1].getValue(field)[0]
   
         return retdata,fieldlist          return retdata,fieldlist
Line 917  class ZSQLBibliography(Folder,ZSQLExtend Line 966  class ZSQLBibliography(Folder,ZSQLExtend
         else:          else:
             return ""              return ""
           
       def getMetaDataXML2(self):
           """crate index meta"""
   
           fn=os.path.splitext(self.REQUEST['fn'])[0]+"."
           self.REQUEST['fn']=fn
   
           pt=PageTemplateFile('Products/ZSQLExtend/zpt/record2.xml').__of__(self)
           pt.content_type="text/xml"
           return pt()
   
     def getMetaDataXML(self):      def getMetaDataXML(self):
         """crate index meta"""          """crate index meta"""
         pt=PageTemplateFile('Products/ZSQLExtend/zpt/record.xml').__of__(self)          pt=PageTemplateFile('Products/ZSQLExtend/zpt/record.xml').__of__(self)
Line 927  class ZSQLBibliography(Folder,ZSQLExtend Line 986  class ZSQLBibliography(Folder,ZSQLExtend
         """index"""          """index"""
         ret="""<?xml version="1.0" ?>          ret="""<?xml version="1.0" ?>
                  <index>"""                   <index>"""
         for found in self.search(var="select oid from %s"%self.tableName):          for found in self.ZSQLSimpleSearch(var="select oid from %s limit ALL"%self.tableName):
             link=self.absolute_url()+"/"+"record.html?oid=%i"%found.oid              link=self.absolute_url()+"/"+"record.html?oid=%i"%found.oid
             metalink=self.absolute_url()+"/"+"getMetaDataXML?oid=%i"%found.oid              metalink=self.absolute_url()+"/"+"getMetaDataXML?oid=%i"%found.oid
                           
Line 935  class ZSQLBibliography(Folder,ZSQLExtend Line 994  class ZSQLBibliography(Folder,ZSQLExtend
                           
         return ret+"\n</index>"          return ret+"\n</index>"
           
       
 manage_addZSQLBibliographyForm=DTMLFile('ZSQLBibliographyAdd', globals())  manage_addZSQLBibliographyForm=DTMLFile('ZSQLBibliographyAdd', globals())
   
 def manage_addZSQLBibliography(self, id, tableName,label,description,title='',  def manage_addZSQLBibliography(self, id, tableName,label,description,title='',

Removed from v.1.21  
changed lines
  Added in v.1.28


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