From c390335a87063b495cfe1509cdd7653a7f80e98c Mon Sep 17 00:00:00 2001 From: John Ladan Date: Sat, 17 Mar 2012 02:01:02 -0400 Subject: [PATCH] sqlite3 interface for addition of books --- sqCatalogue.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 sqCatalogue.py diff --git a/sqCatalogue.py b/sqCatalogue.py new file mode 100644 index 0000000..3cb0444 --- /dev/null +++ b/sqCatalogue.py @@ -0,0 +1,47 @@ +import sqlite3 + +dbFile = 'sqLibrary.db' +bookTable = 'books' + +bookTableCreation = ''' +CREATE TABLE IF NOT EXISTS books + (id INTEGER PRIMARY KEY, + isbn, lccn, title, subtitle, authors, edition, + publisher, publish_year, publish_month, publish_location, + pages, pagination, weight) +''' + +def colify(s): + return s.replace(" ","_").lower() + +def stringify(v): + return '"' + str(v).strip() + '"' + +def addBook(book): + conn = sqlite3.connect(dbFile) + c = conn.cursor() + cols = [] + vals = [] + for k,v in book.items(): + if v!="": + cols.append(colify(k)) + vals.append(stringify(v)) + + query = "INSERT INTO "+bookTable+" ("+", ".join(cols)+") VALUES ("+", ".join(vals)+");" + print query + c.execute(query) + conn.commit() + c.close() + +def createBooksTable(): + conn = sqlite3.connect(dbFile) + c = conn.cursor() + c.execute(bookTableCreation) + conn.commit() + c.close() + +createBooksTable() +book1 = {"title":"Test Book 1"} +book2 = {"isbn":12345, "title":"Test Book 2"} +addBook(book1) +addBook(book2)