--- ZSQLExtend/ZSQLExtend.py 2007/02/20 16:00:03 1.103 +++ ZSQLExtend/ZSQLExtend.py 2007/02/20 17:19:38 1.104 @@ -798,6 +798,8 @@ class ZSQLExtendFolder(Folder,Persistent @parameter valueName: (optional) Name des Feldes, dass als im option-tag ausgegeben wird, default wert ist valueName=fieldName @start: (optional) falls zusaetzliches option tag erzeugt werden soll, gibt start an was im option tag steht @startValue: gibt den entsprechenden Wert an. + @linelen: (optional) maximale laenge eines Eintrages + der im Klappmenue noch angezeigt wird, laengeres wird abgeschnitten. """ if not valueName: valueName=fieldName @@ -890,7 +892,7 @@ class ZSQLExtendFolder(Folder,Persistent def ZSQLInlineSearch(self,storename=None,args=None,**argv): """inlinesearch""" - + qs=[] if storename: """store""" @@ -908,7 +910,16 @@ class ZSQLExtendFolder(Folder,Persistent #print "INLINE:",argv for a in argTmp.keys(): aFiltered=re.sub(r"^-","_",a) # beginning of a command should always be "_" - qs.append(aFiltered+"="+urllib.quote(str(argTmp[a]))) + + if type(argTmp[a]) is ListType: # ein parameter zweimal + value="" + #TODO find a better solution, currently only the last non empty entry is used. + for x in argTmp[a]: + if x: + value=x + else: + value=str(argTmp[a]) + qs.append(aFiltered+"="+urllib.quote(value)) #return [] @@ -1325,7 +1336,7 @@ class ZSQLExtendFolder(Folder,Persistent 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""" - + #setzte generische werte lop="AND" # standardsuche mit and @@ -1402,8 +1413,10 @@ class ZSQLExtendFolder(Folder,Persistent name=re.sub("r'+'"," ",q.split("=")[0].lower()) + try: value=urllib.unquote(q.split("=",1)[1]) + except: value="" @@ -1518,6 +1531,7 @@ class ZSQLExtendFolder(Folder,Persistent #print "OP",op,name value=value.lower() + tmp="" if opfields.has_key(name): op=opfields[name]