import re
import logging
import sqlite3
+import datetime
#
# Logging code heavily inspired by Logging HOWTO documentation:
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)
+
+ # 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)
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)
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)