--- ZSQLExtend/ZSQLExtend.py 2004/02/11 17:44:54 1.12
+++ ZSQLExtend/ZSQLExtend.py 2004/03/11 14:50:47 1.14
@@ -18,10 +18,28 @@ class ZSQLExtendFolder(Persistent, Impli
"""Folder"""
meta_type="ZSQLExtendFolder"
+ def formatAscii(self,str,url=None):
+ """ersetze ascii umbrueche durch
"""
+ #url=None
+ if url:
+
+ retStr=""
+ words=str.split("\n")
+
+ for word in words:
+ strUrl=url%word
+ #print "str",strUrl
+ retStr+="""%s
"""%(strUrl,word)
+ str=retStr
+ if str:
+ return re.sub(r"[\n]","
",str)
+ else:
+ return ""
+
def getSAttribute(self,obj,atribute,pref=''):
"""get Attribute or emptystring"""
- print "obj",obj
+ #print "obj",obj
try:
return pref+getattr(obj,atribute)
except:
@@ -204,16 +222,17 @@ class ZSQLExtendFolder(Persistent, Impli
qs=self.REQUEST.SESSION['query']
else:
+ self.REQUEST['QUERY_STRING']=qs
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.
- #print "QS",qs
+
if storename:
"""store"""
else:
storename="foundCount"
-
+ #print "QS",qs
ret=self.parseQueryString(qs,"-",select=select,storemax="yes",storename=storename)
#print self.REQUEST.SESSION["foundCount"]
@@ -298,13 +317,16 @@ class ZSQLExtendFolder(Persistent, Impli
for q in splitted:
name=re.sub("r'+'"," ",q.split("=")[0].lower())
- value=urllib.unquote(q.split("=")[1])
-
+ try:
+ value=urllib.unquote(q.split("=",1)[1])
+ except:
+ value=""
if name[0:3]==iCT+"op":
op=value
+
field=name[4:]
opfields[field]=op
-
+ #print "HI",op,field
#print opfieldsa
#now analyse the querystring
for q in qs.split(","):
@@ -313,7 +335,11 @@ class ZSQLExtendFolder(Persistent, Impli
#try:
name=re.sub("r'+'"," ",q.split("=")[0].lower())
- value=urllib.unquote(q.split("=")[1])
+ try:
+ value=urllib.unquote(q.split("=",1)[1])
+ except:
+ value=""
+
#value=libpq.PgQuoteString(value)
@@ -377,6 +403,7 @@ class ZSQLExtendFolder(Persistent, Impli
#print "QE",table
query="SELECT %s FROM %s %s %s %s %s"%(select,table,where,sort,maxstr,skip)
+
if not nostore=="yes":
self.REQUEST.SESSION['qs']=opfields
@@ -410,7 +437,7 @@ class ZSQLExtendFolder(Persistent, Impli
self.REQUEST.SESSION[storename]['rangeSize']=limit
self.REQUEST.SESSION[storename]['searchFields']=searchFields
- print query
+ #print "Q",query
return self.search(var=query)
@@ -441,12 +468,12 @@ class ZSQLExtendFolder(Persistent, Impli
def getZSQLSearchFieldsList(self,storename="foundCount"):
"""get searchfieldList"""
- print self.REQUEST.SESSION[storename]['searchFields'].keys()
+ #print self.REQUEST.SESSION[storename]['searchFields'].keys()
return self.REQUEST.SESSION[storename]['searchFields'].keys()
def getZSQLSearchFields(self,storename="foundCount"):
"""get searchfield"""
- print "SF",self.REQUEST.SESSION[storename]['searchFields']
+ #print "SF",self.REQUEST.SESSION[storename]['searchFields']
return self.REQUEST.SESSION[storename]['searchFields']