insert_swarms - row fields to be added are passed as separate
arguments
"""
-
+ operators={'eq':'=', 'neq':'<>', 'gt':'>', 'gte':'>=', 'lt':'<', 'lte':'<=', 'lk':'LIKE'}
+
def __init__ (self, dbname):
self.dbname = dbname
def insert_status_messages(self, cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta):
self.insert_status_messages_row([cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta])
- def select_status_messages(self, show = True, cs_id = -1):
+ def select_status_messages(self, show = True, cs_id = -1, restrictArray=None):
try:
if cs_id == -1:
self.cursor.execute("select * from status_messages")
else:
- self.cursor.execute("select * from status_messages where cs_id=?", (cs_id, ))
- if show == True:
+ values = (cs_id, )
+ query = "select * from status_messages where cs_id=? and "
+
+ if restrictArray:
+ for (key, value, op) in restrictArray:
+ query += "%s %s ? and " % (key, self.operators[op])
+ values += (value, )
+
+ query = query.strip('and ')
+ print query, values
+ self.cursor.execute(query, values)
+
+ if show == True:
for row in self.cursor:
print row
else:
def insert_verbose_messages(self, cs_id, timestamp, peer_ip, peer_port, message_type, _index, begin, length, listen_port):
self.insert_verbose_messages_row([cs_id, timestamp, peer_ip, peer_port, message_type, _index, begin, length, listen_port])
-
- def select_verbose_messages(self, show = True, cs_id = -1):
+
+ def select_verbose_messages(self, show = True, cs_id = -1, restrictArray=None):
try:
if cs_id == -1:
self.cursor.execute("select * from verbose_messages")
else:
- self.cursor.execute("select * from verbose_messages where cs_id=?", (cs_id, ))
- if show == True:
+ values = (cs_id, )
+ query = "select * from verbose_messages where cs_id=? and "
+ if restrictArray:
+ for (key, value, op) in restrictArray:
+ query += "%s %s ? and " % (key, self.operators[op])
+ values += (value, )
+
+ query = query.strip('and ')
+ #print query, values
+ self.cursor.execute(query, values)
+
+ if show == True:
for row in self.cursor:
print row
else:
self.dba.select_status_messages(True, cs_id)
def select_status_messages(self, cs_id = -1):
- self.dba.select_status_messages(False, cs_id)
+ return self.dba.select_status_messages(False, cs_id)
def show_verbose_messages(self, cs_id = -1):
self.dba.select_verbose_messages(True, cs_id)
def select_verbose_messages(self, cs_id = -1):
- self.dba.select_verbose_messages(False, cs_id)
+ return self.dba.select_verbose_messages(False, cs_id)
def delete_status_messages(self, cs_id = -1):
self.dba.delete_status_messages(cs_id)