fix bug in update method
[sfa.git] / sfa / util / genitable.py
index bd73a8a..4ad582b 100644 (file)
@@ -83,12 +83,13 @@ class GeniTable:
         self.cnx.query(query_str)
 
     def update(self, record):
-fof
-        names = record.get_field_names()
+        dont_update = ['date_created', 'last_updated']
+        fields = [field for field in  record.fields.keys() if field not in dont_update]  
+        fieldvals = record.get_field_value_strings(fields)
         pairs = []
-        for name in names:
-           val = record.get_field_value_string(name)
-           pairs.append(name + " = " + val)
+        for field in fields:
+            val = record.get_field_value_string(field)
+            pairs.append(field + " = " + val)
         update = ", ".join(pairs)
 
         query_str = "UPDATE " + self.tablename+ " SET " + update + " WHERE key = '" + record.get_key() + "'"
@@ -138,6 +139,15 @@ fof
             result_rec_list.append(GeniRecord(dict=dict).as_dict())
         return result_rec_list
 
+    def drop(self):
+        try:
+            self.cnx.query('DROP TABLE IF EXISTS ' + self.tablename)
+        except ProgrammingError:
+            try:
+                self.cnx.query('DROP TABLE ' + self.tablename)
+            except ProgrammingError:
+                pass
+    
     @staticmethod
     def geni_records_purge(cninfo):