server/sqlutils.py
branchstable
changeset 5625 6ee2a7b6f194
parent 5605 2604545d7dd9
child 5768 1e73a466aa69
--- a/server/sqlutils.py	Wed Jun 02 13:00:27 2010 +0200
+++ b/server/sqlutils.py	Wed Jun 02 13:01:45 2010 +0200
@@ -202,7 +202,7 @@
             return newargs
         return query_args
 
-    def process_result(self, cursor, column_callbacks=None):
+    def process_result(self, cursor, column_callbacks=None, session=None):
         """return a list of CubicWeb compliant values from data in the given cursor
         """
         # use two different implementations to avoid paying the price of
@@ -210,9 +210,10 @@
         # lookup
         if not column_callbacks:
             return self._process_result(cursor)
-        return self._cb_process_result(cursor, column_callbacks)
+        assert session
+        return self._cb_process_result(cursor, column_callbacks, session)
 
-    def _process_result(self, cursor, column_callbacks=None):
+    def _process_result(self, cursor):
         # begin bind to locals for optimization
         descr = cursor.description
         encoding = self._dbencoding
@@ -230,7 +231,7 @@
             results[i] = result
         return results
 
-    def _cb_process_result(self, cursor, column_callbacks):
+    def _cb_process_result(self, cursor, column_callbacks, session):
         # begin bind to locals for optimization
         descr = cursor.description
         encoding = self._dbencoding
@@ -249,7 +250,7 @@
                     value = process_value(value, descr[col], encoding, binary)
                 else:
                     for cb in cbstack:
-                        value = cb(self, value)
+                        value = cb(self, session, value)
                 result.append(value)
             results[i] = result
         return results