fix bugs
[sfa.git] / sfa / util / genitable.py
index 457d36b..80a4dda 100644 (file)
@@ -124,6 +124,9 @@ class GeniTable(list):
         self.db.do(query_str, db_fields)
         self.db.commit()
 
+    def quote_string(self, value):
+        return str(self.quote(value))
+
     def quote(self, value):
         """
         Returns quoted version of the specified value.
@@ -132,13 +135,15 @@ class GeniTable(list):
         # The pgdb._quote function is good enough for general SQL
         # quoting, except for array types.
         if isinstance(value, (list, tuple, set)):
-            return "ARRAY[%s]" % ", ".join(map, self.quote, value)
+            return "ARRAY[%s]" % ", ".join(map, self.quote_string, value)
         else:
             return pgdb._quote(value)
 
     def find(self, record_filter = None, columns=None):
         if not columns:
             columns = "*"
+        else:
+            columns = ",".join(columns)
         sql = "SELECT %s FROM %s WHERE True " % (columns, self.tablename)
         
         if isinstance(record_filter, (list, tuple, set)):
@@ -161,9 +166,9 @@ class GeniTable(list):
             results = [results]
         return results
 
-    def findObjects(self, record_filter = None):
+    def findObjects(self, record_filter = None, columns=None):
         
-        results = self.find(record_filter) 
+        results = self.find(record_filter, columns
         result_rec_list = []
         for result in results:
             if result['type'] in ['authority']: