From c603b2d3d2384c26135c15c37a24a4a5b278177a Mon Sep 17 00:00:00 2001 From: Ana Scolari <127357173+apsscolari@users.noreply.github.com> Date: Mon, 15 Sep 2025 21:27:50 -0700 Subject: [PATCH] Add routes for book search and listing --- routes.py | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 routes.py diff --git a/routes.py b/routes.py new file mode 100644 index 0000000..a8d45e1 --- /dev/null +++ b/routes.py @@ -0,0 +1,47 @@ + +from flask import request, render_template, make_response + +from webapp import flaskapp, cursor +from models import Book + + +@flaskapp.route('/') +def index(): + name = request.args.get('name') + author = request.args.get('author') + read = bool(request.args.get('read')) + + # ana testing + if name: + + cursor.execute( + "SELECT * FROM books WHERE name LIKE '%" + name + "%'" + ) + books = [Book(*row) for row in cursor] + + elif author: + cursor.execute( + "SELECT * FROM books WHERE author LIKE '%" + author + "%'" + ) + books = [Book(*row) for row in cursor] + + else: + cursor.execute("SELECT name, author, read FROM books") + books = [Book(*row) for row in cursor] + + return render_template('books.html', books=books) + +@flaskapp.route('/books') +def books(): + name = request.args.get('name') + if name: + cursor.execute( + "SELECT * FROM books WHERE name LIKE '%" + name + "%'" + ) + books = [Book(*row) for row in cursor] + + else: + cursor.execute("SELECT name, author, read FROM books") + books = [Book(*row) for row in cursor] + + return render_template('books.html', books=books)