X-Git-Url: https://git.phdru.name/?a=blobdiff_plain;f=m_librarian%2Fweb%2Fapp.py;h=2296d277bbe17f85d174e49615673176ecb484ae;hb=85b0a3f16a1d7299789dc297e86180a5dcb469a0;hp=95af5cb5d79e3060b0d7a923f02dc6c25a8013af;hpb=c36e520339e5c0043fa6861f43ff5915999eb980;p=m_librarian.git diff --git a/m_librarian/web/app.py b/m_librarian/web/app.py index 95af5cb..2296d27 100644 --- a/m_librarian/web/app.py +++ b/m_librarian/web/app.py @@ -1,7 +1,13 @@ +# -*- coding: utf-8 -*- + +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, AuthorBook, Book +from m_librarian.config import get_config +from m_librarian.db import Author, Book +from m_librarian.download import download from m_librarian.search import search_authors @@ -69,3 +75,31 @@ def books_by_author(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' + ) + ) + + +@route('/download/', method='POST') +@cheetah_view('download.tmpl') +def download_books(): + books_ids = request.forms.getall('books') + download_path = get_config().get('download', 'path') + if books_ids: + for id in books_ids: + book = Book.get(int(id)) + download(book, download_path) + return { + 'message': u'Книги сохранены.', + } + else: + return { + 'message': u'Не выбрано книг для сохранения.', + }