version 1.51, 2004/11/28 21:56:31
|
version 1.52, 2004/12/04 21:33:12
|
Line 399 class ZSQLExtendFolder(Folder,Persistent
|
Line 399 class ZSQLExtendFolder(Folder,Persistent
|
|
|
|
|
|
|
def ZSQLFind2(self,qs="",select="oid,*",storename=None,tableList=['cdli_translit','cdli_cat'],**argv): |
def ZSQLFind2(self,qs="",select="oid,*",storename=None,tableList=['cdli_translit','cdli_cat'],restrictField='id_text',**argv): |
"""find2""" |
"""find2""" |
#search1= self.ZSQLFind(qs="",select="oid,*",storename=None,tableExt='cdli_translit',restrictField='id_text',NoQuery='yes',NoLimit='yes',**argv) |
|
|
|
|
search1= self.ZSQLFind(qs=qs,select=select,storename=storename,tableExt=tableList[1],restrictField=restrictField,NoQuery='yes',NoLimit='yes',**argv) |
|
|
#search2 = self.ZSQLFind(tableExt='cdli_cat',qs="",select="oid,*",storename=None,restrictConnect=('cdli_cat.id_text',search1),**argv) |
search2 = self.ZSQLFind(tableExt=tableList[0],qs=qs,select=select,storename=storename,restrictConnect=(tableList[0]+"."+restrictField,search1),**argv) |
|
|
search1= self.ZSQLFind(qs="",select="oid,*",storename=None,tableExt='cdli_cat',restrictField='id_text',NoQuery='yes',NoLimit='yes',**argv) |
|
|
|
search2 = self.ZSQLFind(tableExt='cdli_translit',qs="",select="oid,*",storename=None,restrictConnect=('cdli_translit.id_text',search1),**argv) |
|
return search2 |
return search2 |
|
|
#return self.ZSQLFind(qs="",select="oid,*",storename=None,tableExt=None,NoQuery=None,**argv) |
|
|
|
def ZSQLFind(self,qs="",select="oid,*",storename=None,tableExt=None,NoQuery=None,NoLimit=None,restrictField=None,restrictConnect=None,filter=None,**argv): |
def ZSQLFind(self,qs="",select="oid,*",storename=None,tableExt=None,NoQuery=None,NoLimit=None,restrictField=None,restrictConnect=None,filter=None,**argv): |
"""Find""" |
"""Find""" |
Line 455 class ZSQLExtendFolder(Folder,Persistent
|
Line 451 class ZSQLExtendFolder(Folder,Persistent
|
|
|
qs+=",%s=%s"%(fieldTmp,argv[field]) |
qs+=",%s=%s"%(fieldTmp,argv[field]) |
|
|
|
|
|
|
else: |
else: |
self.REQUEST['QUERY_STRING']=qs |
self.REQUEST['QUERY_STRING']=qs |
|
|
Line 654 class ZSQLExtendFolder(Folder,Persistent
|
Line 652 class ZSQLExtendFolder(Folder,Persistent
|
#print "HI",op,field |
#print "HI",op,field |
#print opfieldsa |
#print opfieldsa |
#now analyse the querystring |
#now analyse the querystring |
|
|
for q in qs.split(","): |
for q in qs.split(","): |
|
|
|
|
Line 754 class ZSQLExtendFolder(Folder,Persistent
|
Line 753 class ZSQLExtendFolder(Folder,Persistent
|
op="all" |
op="all" |
|
|
if (not tableExt) or (namealt.split('.')[0]==tableExt): |
if (not tableExt) or (namealt.split('.')[0]==tableExt): |
if searchFields.has_key(name): |
if searchFields.has_key(namealt): |
searchFields[name]+=lopfields.get(name,'OR')+" "+tmp |
searchFields[namealt]+=lopfields.get(name,'OR')+" "+tmp |
searchFieldsOnly[name]+=lopfields.get(name,'OR')+" "+value |
searchFieldsOnly[namealt]+=lopfields.get(name,'OR')+" "+value |
else: |
else: |
searchFields[name]=tmp |
searchFields[namealt]=tmp |
searchFieldsOnly[name]=value |
searchFieldsOnly[namealt]=value |
|
|
|
|
whereList=["("+searchFields[x]+")" for x in searchFields.keys()] |
whereList=["("+searchFields[x]+")" for x in searchFields.keys()] |
|
|
Line 832 class ZSQLExtendFolder(Folder,Persistent
|
Line 832 class ZSQLExtendFolder(Folder,Persistent
|
|
|
return query |
return query |
|
|
|
def ZSQLUniqueQuery(self,value,returns): |
|
"""unique relation""" |
|
if returns: |
|
statement="""select %s from %s where %s = '%s' """%(returns[1],returns[0],returns[2],value) |
|
founds=self.ZSQLSimpleSearch(statement) |
|
if founds: |
|
return getattr(founds[0],returns[1]) |
|
else: |
|
return value |
|
else: |
|
return value |
|
|
def ZSQLQuery(self,query): |
def ZSQLQuery(self,query): |
"""query""" |
"""query""" |
#print "hi",query |
|
return self.ZSQLSimpleSearch(query) |
return self.ZSQLSimpleSearch(query) |
|
|
|
|
def ZSQLSearch(self): |
def ZSQLSearch(self): |
"""To be done""" |
"""To be done""" |
rq=self.REQUEST['QUERY_STRING'] |
rq=self.REQUEST['QUERY_STRING'] |
|
|
querys=rq.split("&") |
querys=rq.split("&") |
|
|
|
|
formatfile=self.REQUEST['URL1'] #generisch redirect zur gleichen url |
formatfile=self.REQUEST['URL1'] #generisch redirect zur gleichen url |
|
|
for querytemp in querys: |
for querytemp in querys: |
query=querytemp.split("=") |
query=querytemp.split("=") |
|
|
|
|
print "fmtfile",formatfile |
|
|
|
try: |
try: |
if query[0].lower()=="-format": |
if query[0].lower()=="-format": |
Line 859 class ZSQLExtendFolder(Folder,Persistent
|
Line 874 class ZSQLExtendFolder(Folder,Persistent
|
|
|
#print formatfile |
#print formatfile |
|
|
|
|
self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",") |
self.REQUEST.SESSION['query']=string.join(self.REQUEST['QUERY_STRING'].split("&"),",") |
self.REQUEST.SESSION['come_from_search']="yes" |
self.REQUEST.SESSION['come_from_search']="yes" |
|
|