From af94db4071fa0114b567196bc5928a0a0264d45b Mon Sep 17 00:00:00 2001 From: John Ladan Date: Fri, 29 Nov 2013 14:17:58 -0500 Subject: [PATCH] Query checked out books added to db_layer --- db_layer.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/db_layer.py b/db_layer.py index c926b19..318cedd 100644 --- a/db_layer.py +++ b/db_layer.py @@ -209,6 +209,14 @@ def _query_to_book(book_query): # Empty entries return None, which are removed from the dict. return dict(filter(lambda t:t[1], zip(columns,book_query))) +def _query_to_book_checkout(book_query): + # Make a dict out of column name and query results. + # Empty entries return None, which are removed from the dict. + b = _query_to_book(book_query) + b['uwid'] = book_query[-2] + b['date'] = book_query[-1] + return b + ######################################### # Category related functions ######################################## @@ -306,6 +314,24 @@ def return_book(book_id): conn.commit() c.close() +def get_checkedout_books(): + ''' + retrieves checked out books. The returned books also have the fields + uwid: ID of person who signed out the book, and + date: date when the book was checked out + ''' + conn = sqlite3.connect(_catalogue_db_file) + c = conn.cursor() + query = 'ATTACH "' + _checkout_db_file + '" AS co' + c.execute(query) + query = ("SELECT "+",".join(map(_colify,columns))+",uwid,date_out FROM "+_book_table+ + " JOIN co."+_checkout_table+ + " USING (id) ;") + c.execute(query) + books = [_query_to_book_checkout(b) for b in c] + c.close() + return books + ######################################### # Database initialization #########################################