--- ZSQLExtend/ZSQLExtend.py 2005/04/27 19:35:22 1.62
+++ ZSQLExtend/ZSQLExtend.py 2005/10/10 15:34:50 1.64
@@ -18,6 +18,7 @@ import zLOG
import os.path
import os
+
def analyseIntSearch(word):
#analyse integer searches
@@ -51,6 +52,7 @@ class ZSQLExtendFolder(Folder,Persistent
"""Folder"""
meta_type="ZSQLExtendFolder"
+
def testneu(self):
"""test"""
relStatement="""period like '%s%%'"""
@@ -251,7 +253,7 @@ class ZSQLExtendFolder(Folder,Persistent
ret+=""""""
return ret
- def ZSQLOptionsFromSearchList(self,fieldname,results,fieldName,valueName=None,start=None, multiple='',startValue=None,additionalSelect="",size=None):
+ def ZSQLOptionsFromSearchList(self,fieldname,results,fieldName,valueName=None,start=None, multiple='',startValue=None,additionalSelect="",size=None,linelen=None):
"""generate select options form a search list
es wird
"""
return ret
@@ -341,7 +349,8 @@ class ZSQLExtendFolder(Folder,Persistent
#print "INLINE:",query
return self.ZSQLSimpleSearch(query)
-
+
+
def ZSQLSimpleSearch(self,query=None,max_rows=1000000):
"""simple search"""
@@ -350,8 +359,10 @@ class ZSQLExtendFolder(Folder,Persistent
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.connection_id,"var","")
+
self._v_searchSQL.max_rows_=max_rows
try:
+
return self._v_searchSQL.__call__(var=query)
except :
if sys.exc_info()[0]=="Database Error":
@@ -361,6 +372,7 @@ class ZSQLExtendFolder(Folder,Persistent
else:
try:
self._v_searchSQL.max_rows_=max_rows
+
return self._v_searchSQL.__call__(var=query)
except :
if sys.exc_info()[0]=="Database Error":
@@ -423,28 +435,37 @@ class ZSQLExtendFolder(Folder,Persistent
self.ZSQLSimpleSearch(queryString)
return self.REQUEST.RESPONSE.redirect(format)
- def ZSQLChange(self,**argv):
+ def ZSQLChange(self,format=None,RESPONSE=None,**argv):
"""change entries"""
#qs=self.REQUEST['QUERY_STRING']
# very bad hack
+
qs_temp=[]
for a in self.REQUEST.form.keys():
qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a])))
- qs=string.join(qs_temp,"&")
-
-
- #print "CHANGE QS",self.REQUEST
- #return self.REQUEST
+ qs=string.join(qs_temp,",")
+
+ for field in argv.keys():
+ if field[0]=="_":
+ fieldTmp="-"+field[1:]
+ else:
+ fieldTmp=field
+
+ qs+=",%s=%s"%(fieldTmp,argv[field])
+
+
changeList=[]
- for q in qs.split("&"):
+ for q in qs.split(","):
+ print q
name=urllib.unquote(re.sub("r'+'"," ",q.split("=")[0].lower()))
- value=q.split("=")[1]
+ value="=".join(q.split("=")[1:])
value=re.sub(r'\+'," ",value)
- value=urllib.unquote(value)
- if name=="-table":
- table=urllib.unquote(value)
+ value=urllib.unquote(value)
+
+ if name=="-table":
+ table=urllib.unquote(value)
elif name=="-identify":
identify=urllib.unquote(value)
identify=identify.split("=")[0]+"="+sql_quote(identify.split("=")[1])
@@ -452,11 +473,16 @@ class ZSQLExtendFolder(Folder,Persistent
format=urllib.unquote(value)
elif (not name[0]=="-") and (not len(value)==0):
changeList.append("\""+name+"\"="+sql_quote(urllib.unquote(value)))
+
changeString=string.join(changeList,",")
queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify)
self.ZSQLSimpleSearch(queryString)
- return self.REQUEST.RESPONSE.redirect(format)
-
+
+
+ if RESPONSE and format:
+ return RESPONSE.redirect(format)
+ else:
+ return True
def ZSQLFind2(self,qs="",select="oid,*",storename=None,tableList=['cdli_translit','cdli_cat'],restrictField='id_text',**argv):
@@ -1290,7 +1316,7 @@ class ZSQLBibliography(Folder,ZSQLExtend
return retdata,fieldlist
- def createRDFTag(self,tag,content,namespace="ns"):
+ def createRDFTag(self,tag,content,namespace="cdli"):
"""create RDF"""
if content:
tag=namespace+":"+tag