changeset 417:a2ff03a52b73

added basic logging capability for debugging
author Nicolas Saunier <nicolas.saunier@polymtl.ca>
date Thu, 26 Sep 2013 17:07:44 -0400
parents 8fdbc13dad8b
children ca5784652d57
files python/storage.py
diffstat 1 files changed, 11 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/python/storage.py	Wed Sep 25 16:13:27 2013 -0400
+++ b/python/storage.py	Thu Sep 26 17:07:44 2013 -0400
@@ -4,7 +4,7 @@
 
 import utils, moving, events, indicators
 
-import sqlite3
+import sqlite3, logging
 
 __metaclass__ = type
 
@@ -105,10 +105,14 @@
     try:
         if trajectoryType == 'feature':
             trajectoryIdQuery = getTrajectoryIdQuery(objectNumbers, trajectoryType)
-            cursor.execute('SELECT * from '+tableName+' '+trajectoryIdQuery+'order by trajectory_id, frame_number')
+            queryStatement = 'SELECT * from '+tableName+' '+trajectoryIdQuery+'order by trajectory_id, frame_number'
+            cursor.execute(queryStatement)
+            logging.debug(queryStatement)
         elif trajectoryType == 'object':
             objectIdQuery = getTrajectoryIdQuery(objectNumbers, trajectoryType)
-            cursor.execute('SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from '+tableName+' P, objects_features OF where P.trajectory_id = OF.trajectory_id '+objectIdQuery+'group by OF.object_id, P.frame_number order by OF.object_id, P.frame_number')
+            queryStatement = 'SELECT OF.object_id, P.frame_number, avg(P.x_coordinate), avg(P.y_coordinate) from '+tableName+' P, objects_features OF where P.trajectory_id = OF.trajectory_id '+objectIdQuery+'group by OF.object_id, P.frame_number order by OF.object_id, P.frame_number'
+            cursor.execute(queryStatement)
+            logging.debug(queryStatement)
         else:
             print('no trajectory type was chosen')
     except sqlite3.OperationalError as error:
@@ -134,10 +138,7 @@
     return objects
 
 def loadTrajectoriesFromSqlite(filename, trajectoryType, objectNumbers = -1):
-    '''Loads nObjects or the indices in objectNumbers from the database 
-    TODO: load feature numbers and not average feature trajectories
-    TODO: other ways of averaging trajectories (load all points, sorted by frame_number and leave the agregation to be done in python)
-    '''
+    '''Loads nObjects or the indices in objectNumbers from the database'''
     connection = sqlite3.connect(filename) # add test if it open
 
     objects = loadTrajectoriesFromTable(connection, 'positions', trajectoryType, objectNumbers)
@@ -156,7 +157,9 @@
         try:
             # attribute feature numbers to objects
             objectIdQuery = getTrajectoryIdQuery(objectNumbers, trajectoryType)
-            cursor.execute('SELECT P.trajectory_id, OF.object_id from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id '+objectIdQuery+'group by P.trajectory_id order by OF.object_id') # order is important to group all features per object
+            queryStatement = 'SELECT P.trajectory_id, OF.object_id from positions P, objects_features OF where P.trajectory_id = OF.trajectory_id '+objectIdQuery+'group by P.trajectory_id order by OF.object_id' # order is important to group all features per object
+            cursor.execute(queryStatement) 
+            logging.debug(queryStatement)
 
             featureNumbers = {}
             for row in cursor: