Code cosmetics

Bugfix upload
This commit is contained in:
OzzieIsaacs 2017-04-03 19:57:45 +02:00
parent ab534b21c1
commit d59be5faf4
2 changed files with 58 additions and 52 deletions

View File

@ -4,6 +4,7 @@
* Google Books api document: https://developers.google.com/books/docs/v1/using * Google Books api document: https://developers.google.com/books/docs/v1/using
* Douban Books api document: https://developers.douban.com/wiki/?title=book_v2 (Chinese Only) * Douban Books api document: https://developers.douban.com/wiki/?title=book_v2 (Chinese Only)
*/ */
/* global i18nMsg */
$(document).ready(function () { $(document).ready(function () {
var msg = i18nMsg; var msg = i18nMsg;
@ -26,36 +27,39 @@ $(document).ready(function () {
}; };
function showResult () { function showResult () {
var book;
var i;
var bookHtml;
showFlag++; showFlag++;
if (showFlag === 1) { if (showFlag === 1) {
$("#meta-info").html('<ul id="book-list" class="media-list"></ul>'); $("#meta-info").html("<ul id=\"book-list\" class=\"media-list\"></ul>");
} }
if (ggDone && dbDone) { if (ggDone && dbDone) {
if (!ggResults && !dbResults) { if (!ggResults && !dbResults) {
$("#meta-info").html('<p class="text-danger">'+ msg.no_result +"</p>"); $("#meta-info").html("<p class=\"text-danger\">"+ msg.no_result +"</p>");
return; return;
} }
} }
if (ggDone && ggResults.length > 0) { if (ggDone && ggResults.length > 0) {
for (var i = 0; i < ggResults.length; i++) { for (i = 0; i < ggResults.length; i++) {
var book = ggResults[i]; book = ggResults[i];
var bookCover; var bookCover;
if (book.volumeInfo.imageLinks) { if (book.volumeInfo.imageLinks) {
bookCover = book.volumeInfo.imageLinks.thumbnail; bookCover = book.volumeInfo.imageLinks.thumbnail;
} else { } else {
bookCover = "/static/generic_cover.jpg"; bookCover = "/static/generic_cover.jpg";
} }
var bookHtml = '<li class="media">' + bookHtml = "<li class=\"media\">" +
'<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + "<img class=\"pull-left img-responsive\" data-toggle=\"modal\" data-target=\"#metaModal\" src=\"" +
bookCover + '" alt="Cover" style="width:100px;height:150px" onclick=\'javascript:get_meta("google",' + bookCover + "\" alt=\"Cover\" style=\"width:100px;height:150px\" onclick='javascript:getMeta(\"google\"," +
i + ')\'>' + i + ")\\>\"" +
'<div class="media-body">' + "<div class=\"media-body\">" +
'<h4 class="media-heading"><a href="https://books.google.com/books?id=' + "<h4 class=\"media-heading\"><a href=\"https://books.google.com/books?id=" +
book.id + '" target="_blank">' + book.volumeInfo.title + '</a></h4>' + book.id + "\" target=\"_blank\">" + book.volumeInfo.title + "</a></h4>" +
"<p>"+ msg.author +"" + book.volumeInfo.authors + "</p>" + "<p>"+ msg.author +"" + book.volumeInfo.authors + "</p>" +
"<p>"+ msg.publisher + "" + book.volumeInfo.publisher + "</p>" + "<p>"+ msg.publisher + "" + book.volumeInfo.publisher + "</p>" +
"<p>"+ msg.description + ":" + book.volumeInfo.description + "</p>" + "<p>"+ msg.description + ":" + book.volumeInfo.description + "</p>" +
"<p>"+ msg.source + ':<a href="https://books.google.com" target="_blank">Google Books</a></p>' + "<p>"+ msg.source + ":<a href=\"https://books.google.com\" target=\"_blank\">Google Books</a></p>" +
"</div>" + "</div>" +
"</li>"; "</li>";
$("#book-list").append(bookHtml); $("#book-list").append(bookHtml);
@ -63,19 +67,19 @@ $(document).ready(function () {
ggDone = false; ggDone = false;
} }
if (dbDone && dbResults.length > 0) { if (dbDone && dbResults.length > 0) {
for (var i = 0; i < dbResults.length; i++) { for (i = 0; i < dbResults.length; i++) {
var book = dbResults[i]; book = dbResults[i];
var bookHtml = '<li class="media">' + bookHtml = "<li class=\"media\">" +
'<img class="pull-left img-responsive" data-toggle="modal" data-target="#metaModal" src="' + "<img class=\"pull-left img-responsive\" data-toggle=\"modal\" data-target=\"#metaModal\" src=\"" +
book.image + '" alt="Cover" style="width:100px;height: 150px" onclick=\'javascript:get_meta("douban",' + book.image + "\" alt=\"Cover\" style=\"width:100px;height: 150px\" onclick='javascript:getMeta(\"douban\"," +
i + ')\'>' + i + ")\\'>" +
'<div class="media-body">' + "<div class=\"media-body\">" +
'<h4 class="media-heading"><a href="https://book.douban.com/subject/' + "<h4 class=\"media-heading\"><a href=\"https://book.douban.com/subject/" +
book.id + '" target="_blank">' + book.title + "</a></h4>" + book.id + "\" target=\"_blank\">" + book.title + "</a></h4>" +
"<p>" + msg.author + "" + book.author + "</p>" + "<p>" + msg.author + "" + book.author + "</p>" +
"<p>" + msg.publisher + "" + book.publisher + "</p>" + "<p>" + msg.publisher + "" + book.publisher + "</p>" +
"<p>" + msg.description + ":" + book.summary + "</p>" + "<p>" + msg.description + ":" + book.summary + "</p>" +
"<p>" + msg.source + ':<a href="https://book.douban.com" target="_blank">Douban Books</a></p>' + "<p>" + msg.source + ":<a href=\"https://book.douban.com\" target=\"_blank\">Douban Books</a></p>" +
"</div>" + "</div>" +
"</li>"; "</li>";
$("#book-list").append(bookHtml); $("#book-list").append(bookHtml);
@ -92,17 +96,17 @@ $(document).ready(function () {
type: "GET", type: "GET",
dataType: "jsonp", dataType: "jsonp",
jsonp: "callback", jsonp: "callback",
success: function (data) { success (data) {
ggResults = data.items; ggResults = data.items;
}, },
complete: function () { complete () {
ggDone = true; ggDone = true;
showResult(); showResult();
} }
}); });
} }
function get_meta (source, id) { function getMeta (source, id) {
var meta; var meta;
var tags; var tags;
if (source === "google") { if (source === "google") {
@ -134,6 +138,26 @@ $(document).ready(function () {
} }
} }
function dbSearchBook (title) {
var url = douban + dbSearch + "?q=" + title + "&fields=all&count=10";
$.ajax({
url: url,
type: "GET",
dataType: "jsonp",
jsonp: "callback",
success (data) {
dbResults = data.books;
},
error () {
$("#meta-info").html('<p class="text-danger">'+ msg.search_error+"!</p>");
},
complete () {
dbDone = true;
showResult();
}
});
}
function doSearch (keyword) { function doSearch (keyword) {
showFlag = 0; showFlag = 0;
$("#meta-info").text(msg.loading); $("#meta-info").text(msg.loading);
@ -144,26 +168,6 @@ $(document).ready(function () {
} }
} }
function dbSearchBook (title) {
var url = douban + dbSearch + "?q=" + title + "&fields=all&count=10";
$.ajax({
url: url,
type: "GET",
dataType: "jsonp",
jsonp: "callback",
success: function (data) {
dbResults = data.books;
},
error: function () {
$("#meta-info").html('<p class="text-danger">'+ msg.search_error+"!</p>");
},
complete: function () {
dbDone = true;
showResult();
}
});
}
$("#do-search").click(function () { $("#do-search").click(function () {
var keyword = $("#keyword").val(); var keyword = $("#keyword").val();
if (keyword) { if (keyword) {

View File

@ -2695,6 +2695,8 @@ def upload():
book_in_shelfs = [] book_in_shelfs = []
return render_title_template('detail.html', entry=db_book, cc=cc, title=db_book.title, return render_title_template('detail.html', entry=db_book, cc=cc, title=db_book.title,
books_shelfs=book_in_shelfs, ) books_shelfs=book_in_shelfs, )
else:
return redirect(url_for("index"))
def start_gevent(): def start_gevent():
from gevent.wsgi import WSGIServer from gevent.wsgi import WSGIServer