1 # -*- coding: utf-8 -*-
4 from bottle import cheetah_view, redirect, request, route, static_file
6 from ..config import get_config
8 from ..download import download
9 from ..search import search_authors_raw, books_by_author, search_books_raw
13 @cheetah_view('index.tmpl')
16 'get_config': get_config,
20 @route('/search_authors', method='GET')
21 def _search_authors():
22 return redirect('/search_authors/')
25 @route('/search_authors/', method='GET')
26 @cheetah_view('search_authors.tmpl')
27 def search_authors_get():
31 @route('/search_authors/', method='POST')
32 @cheetah_view('list_authors.tmpl')
33 def search_authors_post():
34 value = request.forms.get('search_authors')
36 return redirect('/search_authors/')
37 search_type = request.forms.get('search_type')
38 case_sensitive = request.forms.get('case_sensitive')
39 return search_authors_raw(value, search_type, case_sensitive)
42 @route('/books-by-author/<aid:int>/', method='GET')
43 @cheetah_view('list_books.tmpl')
44 def _books_by_author(aid):
45 return books_by_author(aid)
48 @route('/static/<filename:path>')
49 def send_static(filename):
51 filename, root=os.path.join(
52 os.path.dirname(__file__),
58 @route('/download/', method='POST')
59 @cheetah_view('download.tmpl')
64 if k.split('_')[-1] == 'books':
65 for bid in form.getall(k):
70 book = Book.get(int(bid))
72 except Exception as e:
78 'message': u'Книги сохранены.',
82 'error': u'Не выбрано книг для сохранения.',
86 @route('/search_books', method='GET')
88 return redirect('/search_books/')
91 @route('/search_books/', method='GET')
92 @cheetah_view('search_books.tmpl')
93 def search_books_get():
95 'get_config': get_config,
99 @route('/search_books/', method='POST')
100 @cheetah_view('list_books.tmpl')
101 def search_books_post():
102 value = request.forms.get('search_books')
104 return redirect('/search_books/')
105 search_type = request.forms.get('search_type')
106 case_sensitive = request.forms.get('case_sensitive')
107 use_filters = request.forms.get('use_filters')
108 return search_books_raw(value, search_type, case_sensitive, use_filters)