projects
/
cs-p2p-next.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
2e27002
)
ppf: Add support for datetime timestamps in SQLiteDatabaseAccess.
author
Razvan Deaconescu
<razvan.deaconescu@cs.pub.ro>
Mon, 22 Aug 2011 10:16:46 +0000
(13:16 +0300)
committer
Razvan Deaconescu
<razvan.deaconescu@cs.pub.ro>
Mon, 22 Aug 2011 10:16:46 +0000
(13:16 +0300)
ppf/new/storage.py
patch
|
blob
|
history
diff --git
a/ppf/new/storage.py
b/ppf/new/storage.py
index
a14de4e
..
9701ff4
100644
(file)
--- a/
ppf/new/storage.py
+++ b/
ppf/new/storage.py
@@
-9,6
+9,7
@@
import os.path
import re
import logging
import sqlite3
import re
import logging
import sqlite3
+import datetime
#
# Logging code heavily inspired by Logging HOWTO documentation:
#
# Logging code heavily inspired by Logging HOWTO documentation:
@@
-475,9
+476,22
@@
class SQLiteDatabaseAccess(DatabaseAccess):
self.cursor.execute(insert_query)
self.conn.commit()
self.cursor.execute(insert_query)
self.conn.commit()
+ def get_string_timestamp(self, ts):
+ # Timestamp is Python Datatime. Convert it to string format and
+ # pass it to internal SQLITE julianday() function.
+ return "%s-%s-%s %s:%s:%s.%s" \
+ %(ts.year, ts.month, ts.day, ts.hour, ts.minute, ts.second,
+ 1000 * ts.microsecond)
+
def add_peer_status_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
def add_peer_status_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
+
+ # TODO: Check msg.timestamp is not None. Raise exception.
+ timestamp_string = self.get_string_timestamp(msg.timestamp)
+ value = "julianday(" + timestamp_string + ")"
+ self.append_to_insert_query("timestamp", value)
+
self.append_to_insert_query("timestamp", msg.timestamp)
self.append_to_insert_query("peer_ip", msg.peer_ip)
self.append_to_insert_query("peer_port", msg.peer_port)
self.append_to_insert_query("timestamp", msg.timestamp)
self.append_to_insert_query("peer_ip", msg.peer_ip)
self.append_to_insert_query("peer_port", msg.peer_port)
@@
-494,7
+508,12
@@
class SQLiteDatabaseAccess(DatabaseAccess):
def add_status_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
def add_status_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
- self.append_to_insert_query("timestamp", msg.timestamp)
+
+ # TODO: Check msg.timestamp is not None. Raise exception.
+ timestamp_string = self.get_string_timestamp(msg.timestamp)
+ value = "julianday(" + timestamp_string + ")"
+ self.append_to_insert_query("timestamp", value)
+
self.append_to_insert_query("num_peers", msg.num_peers)
self.append_to_insert_query("num_dht_peers", msg.num_dht_peers)
self.append_to_insert_query("download_speed", msg.download_speed)
self.append_to_insert_query("num_peers", msg.num_peers)
self.append_to_insert_query("num_dht_peers", msg.num_dht_peers)
self.append_to_insert_query("download_speed", msg.download_speed)
@@
-513,7
+532,12
@@
class SQLiteDatabaseAccess(DatabaseAccess):
def add_verbose_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
def add_verbose_message(self, msg):
self.reset_query()
self.append_to_insert_query("client_session_id", msg.client_session_id)
- self.append_to_insert_query("timestamp", msg.timestamp)
+
+ # TODO: Check msg.timestamp is not None. Raise exception.
+ timestamp_string = self.get_string_timestamp(msg.timestamp)
+ value = "julianday(" + timestamp_string + ")"
+ self.append_to_insert_query("timestamp", value)
+
self.append_to_insert_query("transfer_direction_id",
transfer_directions[msg.transfer_direction])
self.append_to_insert_query("peer_ip", msg.peer_ip)
self.append_to_insert_query("transfer_direction_id",
transfer_directions[msg.transfer_direction])
self.append_to_insert_query("peer_ip", msg.peer_ip)