]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/web/app.py
Feat(web): Download one book
[m_librarian.git] / m_librarian / web / app.py
index 95af5cb5d79e3060b0d7a923f02dc6c25a8013af..7032825e8224d3f4c0cf94e04228eeddd46d21f7 100644 (file)
@@ -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,23 @@ def books_by_author(id):
             orderBy=['series', 'ser_no', 'title'],
         )
     }
+
+
+@route('/static/<filename:path>')
+def send_static(filename):
+    return static_file(
+        filename, root=os.path.join(
+            os.path.dirname(__file__),
+            'static'
+        )
+    )
+
+
+@route('/download/<id:int>/', method='GET')
+@cheetah_view('download.tmpl')
+def download_book(id):
+    book = Book.get(id)
+    download(book, get_config().get('download', 'path'))
+    return {
+        'message': u'Книга сохранена',
+    }