Add query()

- Add query() to query db and return result as list of attributes
- Refactor row_string -> rows in create_table()
- Add method documentation
This commit is contained in:
George Lacey 2016-09-21 20:33:44 +01:00
parent 3229d125b3
commit f6a52ece4d

View File

@ -10,24 +10,28 @@ class Database(object):
self.conn.close() self.conn.close()
def create_table(self, name, row_list): def create_table(self, name, row_list):
"""creates table 'name' with rows from 'row_list' if it doesn't exist"""
if self.table_exists(name): if self.table_exists(name):
return True return True
else: else:
row_string = "" rows = ""
separator = ", " separator = ", "
for i in range(0, len(row_list)): for i in range(0, len(row_list)):
if i == len(row_list) - 1: if i == len(row_list) - 1:
separator = "" separator = ""
row_string += "%s%s" % (row_list[i], separator) rows += "%s%s" % (row_list[i], separator)
self.conn.execute("CREATE TABLE %s(%s)" % (name, row_string)) self.conn.execute("CREATE TABLE %s(%s)" % (name, rows))
if self.table_exists(name): if self.table_exists(name):
return True return True
else: else:
return False return False
def table_exists(self, name): def table_exists(self, name):
"""returns true if table 'name' exists"""
result = self.conn.execute("""SELECT * FROM sqlite_master result = self.conn.execute("""SELECT * FROM sqlite_master
WHERE type='table' AND name=?""", (name,)) WHERE type='table' AND name=?""", (name,))
if result.fetchone() is None: if result.fetchone() is None:
@ -45,3 +49,6 @@ class Database(object):
log_entry.duration, log_entry.duration,
log_entry.file_count)) log_entry.file_count))
self.conn.commit() self.conn.commit()
def query(self, query):
return self.conn.execute(query).fetchall()