From: Tony Mack Date: Fri, 11 Sep 2009 20:16:56 +0000 (+0000) Subject: insert() returns record_id now. in update/insert filter fileds based on GeniRecord... X-Git-Tag: sfa-0.9-2~36 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=059167015c1ef18a8ce862554811596fa970a1cf;p=sfa.git insert() returns record_id now. in update/insert filter fileds based on GeniRecord.all_fields instead of GeniRecord.fields --- diff --git a/sfa/util/genitable.py b/sfa/util/genitable.py index f3cc2ce1..a6c6c9f8 100644 --- a/sfa/util/genitable.py +++ b/sfa/util/genitable.py @@ -74,19 +74,20 @@ class GeniTable(list): self.cnx.query(query_str) def insert(self, record): - dont_insert = ['date_created', 'last_updated'] - fields = [field for field in record.fields.keys() if field not in dont_insert] - fieldnames = ["pointer"] + fields + dont_insert = ['date_created', 'last_updated', 'record_id'] + fieldnames = [field for field in record.all_fields.keys() if field not in dont_insert] fieldvals = record.get_field_value_strings(fieldnames) query_str = "INSERT INTO " + self.tablename + \ "(" + ",".join(fieldnames) + ") " + \ "VALUES(" + ",".join(fieldvals) + ")" #print query_str self.cnx.query(query_str) + results = self.find(record) + return results[0]['record_id'] def update(self, record): - dont_update = ['date_created', 'last_updated'] - fields = [field for field in record.fields.keys() if field not in dont_update] + dont_update = ['date_created', 'last_updated', 'record_id'] + fields = [field for field in record.all_fields.keys() if field not in dont_update] fieldvals = record.get_field_value_strings(fields) pairs = [] for field in fields: @@ -96,7 +97,6 @@ class GeniTable(list): query_str = "UPDATE %s SET %s WHERE record_id = %s" % \ (self.tablename, update, record['record_id']) - #print query_str self.cnx.query(query_str) def quote(self, value):