ppf/new: Update storage.py to return swarm_id and client_session_id.
authorMariana Mărășoiu <mariana.marasoiu@gmail.com>
Thu, 15 Sep 2011 22:17:14 +0000 (01:17 +0300)
committerMariana Mărășoiu <mariana.marasoiu@gmail.com>
Thu, 15 Sep 2011 22:17:14 +0000 (01:17 +0300)
add_swarms and add_client_session methods return the id after the insertion
in database is made.

ppf/new/storage.py

index 6cf68e8..d7b2f47 100644 (file)
@@ -492,6 +492,9 @@ class SQLiteDatabaseAccess(DatabaseAccess):
                 " VALUES(" + self.values + ")"
         self.cursor.execute(insert_query)
         self.conn.commit()
+        self.cursor.execute("SELECT * FROM swarms ORDER BY id DESC LIMIT 1")
+        row = self.cursor.fetchone()
+        return row[0]
 
     def add_client_session(self, session):
         """Insert session in database. session type is Session."""
@@ -523,6 +526,10 @@ class SQLiteDatabaseAccess(DatabaseAccess):
                 " VALUES(" + self.values + ")"
         self.cursor.execute(insert_query)
         self.conn.commit()
+        self.cursor.execute("SELECT * FROM client_sessions "
+                            "ORDER BY id DESC LIMIT 1")
+        row = self.cursor.fetchone()
+        return row[0]
 
     def get_string_timestamp(self, ts):
         # Timestamp is Python Datatime. Convert it to string format and
@@ -658,6 +665,9 @@ class MySQLDatabaseAccess(DatabaseAccess):
                 " VALUES(" + self.values + ")"
         self.cursor.execute(insert_query)
         self.conn.commit()
+        self.cursor.execute("SELECT * FROM swarms ORDER BY id DESC LIMIT 1")
+        row = self.cursor.fetchone()
+        return row[0]
 
     def add_client_session(self, session):
         """Insert session in database. session type is Session."""
@@ -689,6 +699,10 @@ class MySQLDatabaseAccess(DatabaseAccess):
                 " VALUES(" + self.values + ")"
         self.cursor.execute(insert_query)
         self.conn.commit()
+        self.cursor.execute("SELECT * FROM client_sessions "
+                            "ORDER BY id DESC LIMIT 1")
+        row = self.cursor.fetchone()
+        return row[0]
 
     def get_string_timestamp(self, ts):
         # Timestamp is Python Datatime. Convert it to string format.
@@ -791,11 +805,13 @@ class SwarmWriter(object):
 
     def add_swarm(self, swarm):
         for h in self.handlers:
-            h.add_swarm(swarm)
+            swarm_id = h.add_swarm(swarm)
+        return swarm_id
 
     def add_client_session(self, session):
         for h in self.handlers:
-            h.add_client_session(session)
+            session_id = h.add_client_session(session)
+        return session_id
 
     def add_peer_status_message(self, msg):
         for h in self.handlers: