--- ZSQLExtend/ZSQLExtend.py 2006/01/16 17:32:40 1.78 +++ ZSQLExtend/ZSQLExtend.py 2006/08/29 17:37:17 1.89 @@ -171,22 +171,14 @@ class ZSQLExtendFolder(Folder,Persistent return "" def getLabel(self): - """getLabel""" + """getLabe""" try: return self.label except: return "" - - def getTitle(self): - """getTitle""" - try: - return self.title - except: - return "" - def getDescription(self): - """getDescription""" + """getLabe""" try: return self.description except: @@ -215,10 +207,6 @@ class ZSQLExtendFolder(Folder,Persistent def formatAscii(self,str,url=None): """ersetze ascii umbrueche durch
""" #url=None - - if not str: - return "" - str=str.rstrip().lstrip() if url and str: @@ -381,8 +369,16 @@ class ZSQLExtendFolder(Folder,Persistent field=getattr(result,fieldName) fieldValue=getattr(result,valueName) if fieldValue: + if not linelen: - ret+=""""""%(field,fieldValue) + + + if field == selected: + + ret+=""""""%(field,fieldValue) + else: + ret+=""""""%(field,fieldValue) + else: mist = """%s"""%(fieldValue) if len(mist) > string.atoi(linelen): @@ -392,7 +388,7 @@ class ZSQLExtendFolder(Folder,Persistent return ret - def ZSQLInlineSearchU(self,storename=None,**argv): + def ZSQLInlineSearchU(self,storename=None,args=None,**argv): """one element if exists""" qs=[] if storename: @@ -401,11 +397,15 @@ class ZSQLExtendFolder(Folder,Persistent else: storename="foundCount" - + if args: + argTmp=args + else: + argTmp=argv + #print "INLINE:",argv - for a in argv.keys(): - qs.append(a+"="+urllib.quote(str(argv[a]))) + for a in argTmp.keys(): + qs.append(a+"="+urllib.quote(str(argTmp[a]))) #return [] ret = self.parseQueryString(string.join(qs,","),"_",storename=storename) @@ -414,7 +414,7 @@ class ZSQLExtendFolder(Folder,Persistent except: return None - def ZSQLInlineSearch(self,storename=None,**argv): + def ZSQLInlineSearch(self,storename=None,args=None,**argv): """inlinesearch""" qs=[] @@ -425,6 +425,12 @@ class ZSQLExtendFolder(Folder,Persistent + if args: + argTmp=args + else: + argTmp=argv + + #print "INLINE:",argv for a in argv.keys(): try: @@ -434,6 +440,7 @@ class ZSQLExtendFolder(Folder,Persistent qs.append(a+"="+urllib.quote(str(argv[a]))) #return [] + return self.parseQueryString(string.join(qs,","),"_",storename=storename) def ZSQLInlineSearch2(self,query): @@ -458,9 +465,10 @@ class ZSQLExtendFolder(Folder,Persistent def ZSQLSimpleSearch(self,query=None,max_rows=1000000): """simple search""" + if not query: query=self.query - + if (hasattr(self,"_v_searchSQL") and (self._v_searchSQL == None)) or (not hasattr(self,"_v_searchSQL")): @@ -521,9 +529,14 @@ class ZSQLExtendFolder(Folder,Persistent - def ZSQLAdd(self,format=None,RESPONSE=None,**argv): + def ZSQLAdd(self,format=None,RESPONSE=None,args=None,**argv): """Neuer Eintrag""" + if args: + argTmp=args + else: + argTmp=argv + qs_temp=[] for a in self.REQUEST.form.keys(): @@ -531,13 +544,13 @@ class ZSQLExtendFolder(Folder,Persistent qs=string.join(qs_temp,",") - for field in argv.keys(): + for field in argTmp.keys(): if field[0]=="_": fieldTmp="-"+field[1:] else: fieldTmp=field - qs+=",%s=%s"%(fieldTmp,argv[field]) + qs+=",%s=%s"%(fieldTmp,argTmp[field]) addList={} @@ -545,7 +558,7 @@ class ZSQLExtendFolder(Folder,Persistent name=re.sub("r'+'"," ",q.split("=")[0].lower()) value=q.split("=")[1] value=re.sub(r'\+'," ",value) - value=urllib.unquote(value) + value=urllib.unquote(value) if name=="-table": table=urllib.unquote(value) elif name=="-format": @@ -575,10 +588,11 @@ class ZSQLExtendFolder(Folder,Persistent """change entries""" #qs=self.REQUEST['QUERY_STRING'] # very bad hack - + qs_temp=[] if USE_FORM or RESPONSE: for a in self.REQUEST.form.keys(): + qs_temp.append(a+"="+urllib.quote(str(self.REQUEST.form[a]))) @@ -596,12 +610,12 @@ class ZSQLExtendFolder(Folder,Persistent changeList=[] for q in qs_temp: - + name=urllib.unquote(re.sub("r'+'"," ",q.split("=")[0].lower())) value="=".join(q.split("=")[1:]) value=re.sub(r'\+'," ",value) value=urllib.unquote(value) - + if name=="-table": table=urllib.unquote(value) elif name=="-identify": @@ -609,13 +623,15 @@ class ZSQLExtendFolder(Folder,Persistent identify=identify.split("=")[0]+"="+sql_quote(identify.split("=")[1]) elif name=="-format": format=urllib.unquote(value) - elif (not (name[0]=="-" or name[0]=="_")) and (not len(value)==0): + #elif (not (name[0]=="-" or name[0]=="_")) and (not len(value)==0): + elif (not (name[0]=="-" or name[0]=="_")): changeList.append("\""+name+"\"="+sql_quote(urllib.unquote(value))) changeString=string.join(changeList,",") queryString="UPDATE %s SET %s WHERE %s"%(table,changeString,identify) + zLOG.LOG("ZSQLExtend",zLOG.INFO,"CHANGE: "+queryString) self.ZSQLSimpleSearch(queryString) @@ -672,7 +688,7 @@ class ZSQLExtendFolder(Folder,Persistent if field[0]=="_": fieldTmp="-"+field[1:] else: - fieldTmp=urllib.unqoute(field) + fieldTmp=field qs+=",%s=%s"%(fieldTmp,argv[field]) @@ -992,7 +1008,7 @@ class ZSQLExtendFolder(Folder,Persistent elif (not name[0]==iCT) and (not len(value)==0): - #print "OP",op,name + #print "OP",op,name value=value.lower() tmp="" if opfields.has_key(name): @@ -1112,9 +1128,9 @@ class ZSQLExtendFolder(Folder,Persistent self.REQUEST.SESSION[storename]['rangeEnd']=int(rangeStart)+int(limit) self.REQUEST.SESSION[storename]['rangeSize']=limit self.REQUEST.SESSION[storename]['searchFields']=searchFields + self.REQUEST.SESSION[storename]['searchFieldsOnly']=searchFieldsOnly - print query if not NoQuery: return self.ZSQLQuery(query) @@ -1236,7 +1252,7 @@ class ZSQLExtendFolder(Folder,Persistent newquery.append(query) newquerystring=string.join(newquery,"&") - return "%s"%(self.REQUEST['URL']+"?"+newquerystring,html) + return "%s"%(self.REQUEST['URL']+"?"+newquerystring,html) @@ -1480,16 +1496,16 @@ class ZSQLBibliography(Folder,ZSQLExtend retdata={} fieldlist=self.standardMD.fieldList - for referenceTypeF in self.referencetypes: - #print referenceType,referenceTypeF[1].title - if referenceTypeF[1].title == referenceType: - bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields - bibdata['data']=referenceTypeF[1] - self.fields=bibdata[referenceType] + for referenceTypeF in self.referencetypes: + #print referenceType,referenceTypeF[1].title + if referenceTypeF[1].title == referenceType: + bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields + bibdata['data']=referenceTypeF[1] + self.fields=bibdata[referenceType] for field in fieldlist: - if referenceTypeF[1].getValue(field)[0]==None: - retdata[field]=field - else: + if referenceTypeF[1].getValue(field)[0]==None: + retdata[field]=field + else: retdata[field]=referenceTypeF[1].getValue(field)[0] return retdata,fieldlist @@ -1501,12 +1517,12 @@ class ZSQLBibliography(Folder,ZSQLExtend retdata={} fieldlist=self.standardMD.fieldList - for referenceTypeF in self.referencetypes: - #print referenceType,referenceTypeF[1].title - if referenceTypeF[1].title == referenceType: - bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields - bibdata['data']=referenceTypeF[1] - self.fields=bibdata[referenceType] + for referenceTypeF in self.referencetypes: + #print referenceType,referenceTypeF[1].title + if referenceTypeF[1].title == referenceType: + bibdata[referenceTypeF[1].title]=referenceTypeF[1].fields + bibdata['data']=referenceTypeF[1] + self.fields=bibdata[referenceType] for field in fieldlist: retdata[field]=referenceTypeF[1].getValue(field)[1] @@ -1605,7 +1621,7 @@ class ZSQLBibliography(Folder,ZSQLExtend fix_host = http_host + ":" + host_port ret=""" - """ + """ for found in self.ZSQLSimpleSearch("select oid from %s limit ALL"%self.tableName): base_url = self.absolute_url() if fix_host: