--- ZSQLExtend/importFMPXML.py 2006/12/20 20:36:05 1.3 +++ ZSQLExtend/importFMPXML.py 2006/12/21 12:17:32 1.4 @@ -40,7 +40,10 @@ def SimpleSearch(curs,query, args=None): query = query.encode("UTF-8") curs.execute(query, args) logging.debug("sql done") - return curs.fetchall() + try: + return curs.fetchall() + except: + return None def importXMLFileFMP(dsn,table,filename,update_fields=None,id_field=None,sync_mode=False): @@ -154,18 +157,14 @@ def importXMLFileFMP(dsn,table,filename, setStr=string.join(setvals, ',') id_val=dataSet[id_field] qstr="UPDATE %s SET %s WHERE %s = '%s' "%(table,setStr,id_field,id_val) - if psyco == 1: - qstr = qstr.encode("UTF-8") - db.execute(qstr) + SimpleSearch(db, qstr) ret += "up: %s"%id_val else: # create new row fields=string.join(update_fields, ',') values=string.join([" %s "%sql_quote(dataSet[x]) for x in update_fields], ',') qstr="INSERT INTO %s (%s) VALUES (%s)"%(table,fields,values) - if psyco == 1: - qstr = qstr.encode("UTF-8") - db.execute(qstr) + SimpleSearch(db, qstr) ret += "ad: %s"%dataSet.get(id_field, rowcnt) #logging.info(" row:"+"%d (%s)"%(rowcnt,id_val)) @@ -181,9 +180,7 @@ def importXMLFileFMP(dsn,table,filename, if dbIDs[id] == 0: logging.info(" delete:"+id) qstr = "DELETE FROM %s WHERE %%s = '%%s'"%table - if psyco == 1: - qstr = qstr.encode("UTF-8") - db.execute(qstr, (id_field,id)) + SimpleSearch(db, qstr, (id_field,id)) elif dbIDs[id] > 1: logging.info(" sync:"+"id used more than once?"+id)