--- ZSQLExtend/ZSQLExtend.py 2006/11/07 11:15:04 1.96
+++ ZSQLExtend/ZSQLExtend.py 2006/12/08 16:23:54 1.98
@@ -1,4 +1,3 @@
-
from OFS.Folder import Folder
from Acquisition import Implicit
from Globals import DTMLFile,package_home,Persistent
@@ -705,7 +704,8 @@ class ZSQLExtendFolder(Folder,Persistent
#print "INLINE:",argv
for a in argTmp.keys():
- qs.append(a+"="+urllib.quote(str(argTmp[a])))
+ aFiltered=re.sub(r"^-","_",a) # beginning of a command should always be "_"
+ qs.append(aFiltered+"="+urllib.quote(str(argTmp[a])))
#return []
ret = self.parseQueryString(string.join(qs,","),"_",storename=storename)
@@ -753,11 +753,9 @@ class ZSQLExtendFolder(Folder,Persistent
#print "INLINE:",argv
for a in argTmp.keys():
- try:
- qs.append(a+"="+urllib.quote(str(argTmp[a])))
- except:
- import urllib
- qs.append(a+"="+urllib.quote(str(argTmp[a])))
+ aFiltered=re.sub(r"^-","_",a) # beginning of a command should always be "_"
+ qs.append(aFiltered+"="+urllib.quote(str(argTmp[a])))
+
#return []
@@ -1115,7 +1113,13 @@ class ZSQLExtendFolder(Folder,Persistent
def ZSQLNewSearch(self,linkText,storename=None,url=None,args=None,**argv):
"""suche mit alten parametern bis auf die in argv getauschten"""
+ str = self.ZSQLNewSearchURL(storename, url, args, **argv)
+ return """ %s"""%(str,linkText)
+
+ def ZSQLNewSearchURL(self, storename=None,url=None,args=None,**argv):
+ """suche mit alten parametern bis auf die in argv getauschten"""
+
if storename:
"""store"""
else:
@@ -1158,7 +1162,7 @@ class ZSQLExtendFolder(Folder,Persistent
else:
str="ZSQLSearch?"+"&".join(newquery)
- return """ %s"""%(str,linkText)
+ return str
def parseQueryString(self,qs,iCT,storemax="no",select=None,nostore=None,storename=None,tableExt=None,NoQuery=None,NoLimit=None,restrictField=None,restrictConnect=None,filter=None):
"""analysieren den QueryString"""
@@ -1296,9 +1300,9 @@ class ZSQLExtendFolder(Folder,Persistent
#TABELLE.SUCHFELD_IN_DIESER_TABELLE.SELECT_FIELD.IDENTIFIER_IN_TABELLE_-table
#i.e. erzeugt wird
#das Statement
- #WHERE DENTIFIER_IN_TABELLE_-table in (select from SELECT_FIELD
- #where LOWER(UCHFELD_IN_DIESER_TABELLE) something value)
- #something is defined by _op_TABELLE.SUCHFELD_IN_DIESER_TABELLE.SELECT_FIELD.IDENTIFIER_IN_TABELLE_-table
+ #WHERE IDENTIFIER_IN_TABELLE in (select * from SELECT_FIELD
+ #where LOWER(SUCHFELD_IN_DIESER_TABELLE) something value)
+ #something is defined by _op_TABELLE.SUCHFELD_IN_DIESER_TABELLE.SELECT_FIELD.IDENTIFIER_IN_TABELLE
elif (not name[0]==iCT) and len(punktsplit)==4:
if opfields.has_key(name):
@@ -1470,9 +1474,9 @@ class ZSQLExtendFolder(Folder,Persistent
self.REQUEST.SESSION[storename]['searchFields']=searchFields
self.REQUEST.SESSION[storename]['searchFieldsOnly']=searchFieldsOnly
-
+
if not NoQuery:
-
+
return self.ZSQLQuery(query)
else: