From 61be90ccc8e35591d22fe310da2fe1c380ab9f59 Mon Sep 17 00:00:00 2001 From: Razvan Deaconescu Date: Fri, 23 Oct 2009 17:57:42 +0300 Subject: [PATCH] updated access_db --- .gitignore | 1 + auto/bd/access_db | 209 ++++++++++++++++++++++++++++++++-------------- 2 files changed, 146 insertions(+), 64 deletions(-) diff --git a/.gitignore b/.gitignore index 0d20b64..f3d74a9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.pyc +*~ diff --git a/auto/bd/access_db b/auto/bd/access_db index 4b41d14..14bc000 100755 --- a/auto/bd/access_db +++ b/auto/bd/access_db @@ -1,67 +1,148 @@ #!/usr/bin/env python + +import sys import sqlite3 -conn = sqlite3.connect('p2p-next.db') -curs = conn.cursor() - -def insert_swarms(row): - try: - curs.execute("insert into swarms values (?,?,?,?,?)", row) - conn.commit() - except sqlite3.Error as e: - print ("[swarms]An error ocurred: ", e.args[0]) - return - -def insert_btclients(row): - try: - curs.execute("insert into btclients values (?,?,?,?,?)", row) - conn.commit() - except sqlite3.Error as e: - print ("[btclients]An error ocurred: ", e.args[0]) - return - -def insert_client_session(row): - try: - curs.execute("insert into client_session values (?,?,?,?,?,?,?,?,?,?,?,?)", row) - conn.commit() - except sqlite3.Error as e: - print ("[client_session]An error ocurred: ", e.args[0]) - return - -def insert_status_messages(row): - try: - curs.execute("[status_messages]insert into swarms values (?,?,?,?,?,?,?,?,?)", row) - conn.commit() - except sqlite3.Error as e: - print ("An error ocurred: ", e.args[0]) - return - -def insert_verbose_messages(row): - try: - curs.execute("[verbose_messages]insert into swarms values (?,?,?,?,?,?,?,?,?)", row) - conn.commit() - except sqlite3.Error as e: - print ("An error ocurred: ", e.args[0]) - return - -for t in [('1', 'mumu', '1024', 'ceva', 'URL'), - ('2', 'gugu', '1024', 'ceva', 'URL'), - ('3', 'gaga', '1024', 'ceva', 'URL'), - ]: - insert_swarms(t) - -for t in [('1', 'tribler', 'python', 1, 0), - ]: - insert_btclients(t) - -for t in [('1', '1', '2', 'Linux', '2.6.30', '256', '1833', '0.0.0.0', '6969', '256', '96', '123131.1231') - ]: - insert_client_session(t) - -tables = ['swarms', 'btclients', 'swarms', 'client_session', 'status_messages', 'verbose_messages'] -for t in tables: - curs.execute("select * from '%s'" %t) - for row in curs: - print row - -conn.close() \ No newline at end of file +class DatabaseAccess: + """ + TODO class comments here + """ + + def __init__ (self, dbname): + self.dbname = dbname + + def connect(self): + self.conn = sqlite3.connect(self.dbname) + self.cursor = self.conn.cursor() + + def disconnect(self): + self.cursor.close() + self.conn.close() + + def get_cursor(self): + return self.cursor + + def get_connection(self): + return self.conn + + def get_status(self): + tables = ['swarms', 'btclients', 'swarms', 'client_session', 'status_messages', 'verbose_messages'] + for t in tables: + try: + self.cursor.execute("select * from '%s'" %t) + for row in self.cursor: + print row + except sqlite3.Error, e: + print "[select] error: ", e.args[0] + + def insert_swarms_row(self, row): + try: + self.cursor.execute("insert into swarms(torrent, filesize, purpose, source) values (?,?,?,?)", row) + self.conn.commit() + except sqlite3.Error, e: + print ("[swarms]An error ocurred: ", e.args[0]) + + def insert_swarms(self, torrent_file, filesize, purpose, source): + insert_swarms_row([torrent_file, filesize, purpose, source]) + + def insert_btclients_row(self, row): + try: + self.cursor.execute("insert into btclients(name, language, dht, streaming) values (?,?,?,?)", row) + self.conn.commit() + except sqlite3.Error, e: + print ("[btclients]An error ocurred: ", e.args[0]) + + def insert_btclients(self, client_name, language, dht, streaming): + btclients([client_name, language, dht, streaming]) + + def insert_client_session_row(self, row): + try: + self.cursor.execute("insert into client_session(swarm_id, client_id, system_os, system_os_version, system_ram, system_cpu, public_ip, public_port, ds_limit, us_limit, start_time) values (?,?,?,?,?,?,?,?,?,?,?)", row) + self.conn.commit() + except sqlite3.Error, e: + print ("[client_session]An error ocurred: ", e.args[0]) + + def insert_client_session(self, swarm_id, client_id, system_os, system_os_version, system_ram, system_cpu, public_ip, public_port, ds_limit, us_limit, start_time): + insert_client_session_row([swarm_id, client_id, system_os, system_os_version, system_ram, system_cpu, public_ip, public_port, ds_limit, us_limit, start_time]); + + def insert_status_messages_row(self, row): + try: + self.cursor.execute("insert into status_messages values (?,?,?,?,?,?,?,?,?)", row) + self.conn.commit() + except sqlite3.Error, e: + print ("[status_messages]An error ocurred: ", e.args[0]) + + def insert_status_message(self, cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta): + insert_status_message_row([cs_id, timestamp, peer_num, dht, download_speed, upload_speed, download_size, upload_size, eta]) + + def insert_verbose_messages_row(self, row): + try: + self.cursor.execute("insert into verbose_messages values (?,?,?,?,?,?,?,?,?)", row) + self.conn.commit() + except sqlite3.Error, e: + print ("[verbose_messages]An error ocurred: ", e.args[0]) + + def insert_verbose_messages(self, cs_id, timestamp, peer_ip, peer_port, message_type, _index, begin, length, listen_port): + insert_verbose_messages_row([cs_id, timestamp, peer_ip, peer_port, message_type, _index, begin, length, listen_port]) + +""" +Test case +""" + +def main(): + dba = DatabaseAccess("p2p-next.db") + + dba.connect() + + for t in [('DarkKnight', '123000', 'experiment', 'TVTorrents'), + ('Fedora', '1024', 'experiment', 'local'), + ('Pulp Fiction', '102400', 'streaming', 'isohunt'), + ]: + dba.insert_swarms_row(t) + + for t in [('Tribler', 'Python', 1, 1), + ('libtorrent', 'C++', 1, 0), + ('Vuze', 'Java', 1, 0), + ]: + dba.insert_btclients_row(t) + + for t in [('1', '2', 'Linux', '2.6.30', '256', '1833', '0.0.0.0', '6969', '256', '96', '123131.1231') + ]: + dba.insert_client_session_row(t) + + for t in [('1', '2455128.10', '222', '0', '213', '56', '200', '300', '121.324') + ]: + dba.insert_status_messages_row(t) + + for t in [('1', '2455128.121295811', '127.0.0.1', '1345', '0', '3', '4', '13', '777') + ]: + dba.insert_verbose_messages_row(t) + + dba.get_status() + + dba.disconnect() + + """ + for t in [('1', 'mumu', '1024', 'ceva', 'URL'), + ('2', 'gugu', '1024', 'ceva', 'URL'), + ('3', 'gaga', '1024', 'ceva', 'URL'), + ]: + insert_swarms(t) + + for t in [('1', 'tribler', 'python', 1, 0), + ]: + insert_btclients(t) + + for t in [('1', '1', '2', 'Linux', '2.6.30', '256', '1833', '0.0.0.0', '6969', '256', '96', '123131.1231') + ]: + insert_client_session(t) + + tables = ['swarms', 'btclients', 'swarms', 'client_session', 'status_messages', 'verbose_messages'] + for t in tables: + curs.execute("select * from '%s'" %t) + for row in curs: + print row + """ + +if __name__ == "__main__": + sys.exit(main()) -- 2.20.1