--- ZSQLExtend/ZSQLExtend.py 2005/10/10 15:36:40 1.65 +++ ZSQLExtend/ZSQLExtend.py 2005/10/11 13:15:01 1.66 @@ -345,8 +345,6 @@ class ZSQLExtendFolder(Folder,Persistent """inlinesearch""" qs=[] - - #print "INLINE:",query return self.ZSQLSimpleSearch(query) @@ -368,7 +366,8 @@ class ZSQLExtendFolder(Folder,Persistent if sys.exc_info()[0]=="Database Error": try: getattr(self,self.connection_id).manage_open_connection() - except: pass + except: + zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2]) else: try: self._v_searchSQL.max_rows_=max_rows @@ -378,11 +377,13 @@ class ZSQLExtendFolder(Folder,Persistent if sys.exc_info()[0]=="Database Error": try: getattr(self,self.connection_id).manage_open_connection() - except: pass + except: + zLOG.LOG("ZSQLSimpleSearch",zLOG.ERROR, '%s %s'%sys.exc_info()[:2]) + def ZSQLSimpleSearch2(self,query=None): """ returrn SQLSearch""" - #print "hi",query + if not query: query=self.query if getattr(self,'_v_search',None): @@ -406,20 +407,36 @@ class ZSQLExtendFolder(Folder,Persistent - def ZSQLAdd(self): + def ZSQLAdd(self,format=None,RESPONSE=None,**argv): """Neuer Eintrag""" - qs=self.REQUEST['QUERY_STRING'] + + 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,",") + + for field in argv.keys(): + if field[0]=="_": + fieldTmp="-"+field[1:] + else: + fieldTmp=field + + qs+=",%s=%s"%(fieldTmp,argv[field]) + + addList={} - for q in qs.split("&"): + for q in qs.split(","): name=re.sub("r'+'"," ",q.split("=")[0].lower()) value=q.split("=")[1] - value=re.sub(r'\+'," ",value) - value=urllib.unquote(value) + value=re.sub(r'\+'," ",value) + value=urllib.unquote(value) if name=="-table": table=urllib.unquote(value) elif name=="-format": format=urllib.unquote(value) - elif (not name[0]=="-") and (not len(value)==0): + elif (not (name[0]=="-" or name[0]=="_")) and (not len(value)==0): addList[urllib.unquote(name)]=urllib.unquote(value) keyList=[] @@ -432,8 +449,13 @@ class ZSQLExtendFolder(Folder,Persistent valueString=string.join(valueList,",") queryString="INSERT INTO %s (%s) VALUES (%s)"%(table,keyString,valueString) + self.ZSQLSimpleSearch(queryString) - return self.REQUEST.RESPONSE.redirect(format) + + if RESPONSE and format: + return RESPONSE.redirect(format) + else: + return True def ZSQLChange(self,format=None,RESPONSE=None,**argv): """change entries""" @@ -463,7 +485,7 @@ class ZSQLExtendFolder(Folder,Persistent value="=".join(q.split("=")[1:]) value=re.sub(r'\+'," ",value) value=urllib.unquote(value) - + if name=="-table": table=urllib.unquote(value) elif name=="-identify": @@ -471,11 +493,12 @@ class ZSQLExtendFolder(Folder,Persistent identify=identify.split("=")[0]+"="+sql_quote(identify.split("=")[1]) elif name=="-format": format=urllib.unquote(value) - elif (not name[0]=="-") and (not len(value)==0): + elif (not (name[0]=="-" or 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) @@ -1341,7 +1364,7 @@ class ZSQLBibliography(Folder,ZSQLExtend else: return "" - def getMetaDataXML2(self): + def getXML2(self): """crate index meta""" fn=os.path.splitext(self.REQUEST['fn'])[0]+"."