i = s.lower() in ("yes", "true", "t", "1")
return int(i)
+ def get_string_timestamp(self, ts):
+ # Timestamp is Python Datatime. Convert it to string format and
+ # pass it to internal SQLITE julianday() function.
+ return "%d-%02d-%02d %02d:%02d:%02d.%d" \
+ %(ts.year, ts.month, ts.day, ts.hour, ts.minute, ts.second,
+ 1000 * ts.microsecond)
+
def add_swarm(self, swarm):
"""Insert swarm in database. swarm type is Swarm."""
self.reset_query()
self.append_to_insert_query("public_port", session.public_port)
self.append_to_insert_query("ds_limit", session.ds_limit)
self.append_to_insert_query("us_limit", session.us_limit)
- self.append_to_insert_query("start_time", session.start_time)
+
+ if session.start_time is not None:
+ timestamp_string = self.get_string_timestamp(session.start_time)
+ value = "julianday(" + "'" + timestamp_string + "'" + ")"
+ self.append_to_insert_query("start_time", value)
+
self.append_to_insert_query("dht_enabled",
self.str2bool(session.dht_enabled))
self.append_to_insert_query("pxe_enabled",
self.values = re.sub(',\s*$', '', self.values)
insert_query = "INSERT INTO client_sessions(" + self.columns +")" + \
" VALUES(" + self.values + ")"
+
+ # Remove single quote for before and after julianday() function
+ insert_query = insert_query.replace("\'julian", "julian")
+ insert_query = insert_query.replace(")'", ")")
+
self.cursor.execute(insert_query)
self.conn.commit()
self.cursor.execute("SELECT * FROM client_sessions "
row = self.cursor.fetchone()
return row[0]
- 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):
"""Insert peer status message in database.
msg type is PeerStatusMessage.
# TODO: Check msg.timestamp is not None. Raise exception.
timestamp_string = self.get_string_timestamp(msg.timestamp)
- value = "julianday(" + timestamp_string + ")"
+ 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("download_speed", msg.download_speed)
self.values = re.sub(',\s*$', '', self.values)
insert_query = "INSERT INTO peer_status_messages(" + \
self.columns +")" + " VALUES(" + self.values + ")"
+
+ # Remove single quote for before and after julianday() function
+ insert_query = insert_query.replace("\'julian", "julian")
+ insert_query = insert_query.replace(")'", ")")
+
self.cursor.execute(insert_query)
self.conn.commit()
# TODO: Check msg.timestamp is not None. Raise exception.
timestamp_string = self.get_string_timestamp(msg.timestamp)
- value = "julianday(" + timestamp_string + ")"
+ value = "julianday(" + "'" + timestamp_string + "'" + ")"
self.append_to_insert_query("timestamp", value)
self.append_to_insert_query("num_peers", msg.num_peers)
self.values = re.sub(',\s*$', '', self.values)
insert_query = "INSERT INTO status_messages(" + self.columns +")" + \
" VALUES(" + self.values + ")"
+
+ # Remove single quote for before and after julianday() function
+ insert_query = insert_query.replace("\'julian", "julian")
+ insert_query = insert_query.replace(")'", ")")
+
self.cursor.execute(insert_query)
self.conn.commit()
# TODO: Check msg.timestamp is not None. Raise exception.
timestamp_string = self.get_string_timestamp(msg.timestamp)
- value = "julianday(" + timestamp_string + ")"
+ value = "julianday(" + "'" + timestamp_string + "'" + ")"
self.append_to_insert_query("timestamp", value)
self.append_to_insert_query("transfer_direction_id",
self.values = re.sub(',\s*$', '', self.values)
insert_query = "INSERT INTO verbose_messages(" + self.columns +")" + \
" VALUES(" + self.values + ")"
+
+ # Remove single quote for before and after julianday() function
+ insert_query = insert_query.replace("\'julian", "julian")
+ insert_query = insert_query.replace(")'", ")")
+
self.cursor.execute(insert_query)
self.conn.commit()