X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fweb%2Fapp.py;h=686dafedaed5a11eae2a8a158dd07c7735aba73d;hb=340957e73caf64e0835d6dfd1b003ed61df28004;hp=e4677d317f10e7b6cb9204766b30500c2ba7b51e;hpb=fbaf358a8c297202b8c0926d6a3f383298b8e3e2;p=m_librarian.git diff --git a/m_librarian/web/app.py b/m_librarian/web/app.py index e4677d3..686dafe 100644 --- a/m_librarian/web/app.py +++ b/m_librarian/web/app.py @@ -1,7 +1,9 @@ +import os + from sqlobject.sqlbuilder import CONCAT -from bottle import cheetah_view, redirect, request, route +from bottle import cheetah_view, redirect, request, route, static_file -from m_librarian.db import Author, open_db +from m_librarian.db import Author, Book from m_librarian.search import search_authors @@ -49,7 +51,33 @@ def search_authors_post(): CONCAT(Author.q.surname, ' ', Author.q.name, ' ', Author.q.misc_name), decode(value) )] - open_db() authors = search_authors(search_type, case_sensitive, {}, expressions, orderBy=('surname', 'name', 'misc_name')) - return {'authors': list(authors)} + return { + 'authors': list(authors), + 'search_authors': value, + 'search_type': search_type, + 'case_sensitive': case_sensitive, + } + + +@route('/books-by-author//', method='GET') +@cheetah_view('books_by_author.tmpl') +def books_by_author(id): + return { + 'author': Author.get(id), + 'books': Book.select( + Book.j.authors & (Author.q.id == id), + orderBy=['series', 'ser_no', 'title'], + ) + } + + +@route('/static/') +def send_static(filename): + return static_file( + filename, root=os.path.join( + os.path.dirname(__file__), + 'static' + ) + )