mirror of
https://github.com/janeczku/calibre-web
synced 2024-12-01 05:49:58 +00:00
Merge ComicVine API
This commit is contained in:
commit
89927fd7e9
@ -15,13 +15,15 @@
|
|||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
/*
|
/*
|
||||||
* Get Metadata from Douban Books api and Google Books api
|
* Get Metadata from Douban Books api and Google Books api and ComicVine
|
||||||
* 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)
|
||||||
|
* ComicVine api document: https://comicvine.gamespot.com/api/documentation
|
||||||
*/
|
*/
|
||||||
/* global _, i18nMsg, tinymce */
|
/* global _, i18nMsg, tinymce */
|
||||||
var dbResults = [];
|
var dbResults = [];
|
||||||
var ggResults = [];
|
var ggResults = [];
|
||||||
|
var cvResults = [];
|
||||||
|
|
||||||
$(function () {
|
$(function () {
|
||||||
var msg = i18nMsg;
|
var msg = i18nMsg;
|
||||||
@ -33,6 +35,10 @@ $(function () {
|
|||||||
var ggSearch = "/books/v1/volumes";
|
var ggSearch = "/books/v1/volumes";
|
||||||
var ggDone = false;
|
var ggDone = false;
|
||||||
|
|
||||||
|
var comicvine = "https://comicvine.gamespot.com";
|
||||||
|
var cvSearch = "/api/search/";
|
||||||
|
var cvDone = false;
|
||||||
|
|
||||||
var showFlag = 0;
|
var showFlag = 0;
|
||||||
|
|
||||||
var templates = {
|
var templates = {
|
||||||
@ -164,6 +170,52 @@ $(function () {
|
|||||||
});
|
});
|
||||||
dbDone = false;
|
dbDone = false;
|
||||||
}
|
}
|
||||||
|
if (cvDone && cvResults.length > 0) {
|
||||||
|
cvResults.forEach(function(result) {
|
||||||
|
var seriesTitle = "";
|
||||||
|
if (result.volume.name) {
|
||||||
|
seriesTitle = result.volume.name;
|
||||||
|
}
|
||||||
|
var dateFomers = "";
|
||||||
|
if (result.store_date) {
|
||||||
|
dateFomers = result.store_date.split("-");
|
||||||
|
}else{
|
||||||
|
dateFomers = result.date_added.split("-");
|
||||||
|
}
|
||||||
|
var publishedYear = parseInt(dateFomers[0]);
|
||||||
|
var publishedMonth = parseInt(dateFomers[1]);
|
||||||
|
var publishedDate = new Date(publishedYear, publishedMonth - 1, 1);
|
||||||
|
|
||||||
|
publishedDate = formatDate(publishedDate);
|
||||||
|
|
||||||
|
var book = {
|
||||||
|
id: result.id,
|
||||||
|
title: seriesTitle + ' #' +('00' + result.issue_number).slice(-3) + ' - ' + result.name,
|
||||||
|
authors: result.author || [],
|
||||||
|
description: result.description,
|
||||||
|
publisher: "",
|
||||||
|
publishedDate: publishedDate || "",
|
||||||
|
tags: ['Comics', seriesTitle],
|
||||||
|
rating: 0,
|
||||||
|
series: seriesTitle || "",
|
||||||
|
cover: result.image.original_url,
|
||||||
|
url: result.site_detail_url,
|
||||||
|
source: {
|
||||||
|
id: "comicvine",
|
||||||
|
description: "ComicVine Books",
|
||||||
|
url: "https://comicvine.gamespot.com/"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var $book = $(templates.bookResult(book));
|
||||||
|
$book.find("img").on("click", function () {
|
||||||
|
populateForm(book);
|
||||||
|
});
|
||||||
|
|
||||||
|
$("#book-list").append($book);
|
||||||
|
});
|
||||||
|
cvDone = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ggSearchBook (title) {
|
function ggSearchBook (title) {
|
||||||
@ -207,12 +259,35 @@ $(function () {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function cvSearchBook (title) {
|
||||||
|
var apikey = "57558043c53943d5d1e96a9ad425b0eb85532ee6";
|
||||||
|
title = encodeURIComponent(title);
|
||||||
|
$.ajax({
|
||||||
|
url: comicvine + cvSearch + "?api_key=" + apikey + "&resources=issue&query=" + title + "&sort=name:desc&format=jsonp",
|
||||||
|
type: "GET",
|
||||||
|
dataType: "jsonp",
|
||||||
|
jsonp: "json_callback",
|
||||||
|
success: function success(data) {
|
||||||
|
cvResults = data.results;
|
||||||
|
},
|
||||||
|
error: function error() {
|
||||||
|
$("#meta-info").html("<p class=\"text-danger\">" + msg.search_error + "!</p>" + $("#meta-info")[0].innerHTML);
|
||||||
|
},
|
||||||
|
complete: function complete() {
|
||||||
|
cvDone = true;
|
||||||
|
showResult();
|
||||||
|
$("#show-comics").trigger("change");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function doSearch (keyword) {
|
function doSearch (keyword) {
|
||||||
showFlag = 0;
|
showFlag = 0;
|
||||||
$("#meta-info").text(msg.loading);
|
$("#meta-info").text(msg.loading);
|
||||||
if (keyword) {
|
if (keyword) {
|
||||||
dbSearchBook(keyword);
|
dbSearchBook(keyword);
|
||||||
ggSearchBook(keyword);
|
ggSearchBook(keyword);
|
||||||
|
cvSearchBook(keyword);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -222,6 +222,9 @@
|
|||||||
|
|
||||||
<input type="checkbox" id="show-google" class="pill" data-control="google" checked>
|
<input type="checkbox" id="show-google" class="pill" data-control="google" checked>
|
||||||
<label for="show-google">Google <span class="glyphicon glyphicon-ok"></span></label>
|
<label for="show-google">Google <span class="glyphicon glyphicon-ok"></span></label>
|
||||||
|
|
||||||
|
<input type="checkbox" id="show-comics" class="pill" data-control="comicvine" checked>
|
||||||
|
<label for="show-comics">ComicVine <span class="glyphicon glyphicon-ok"></span></label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="meta-info">
|
<div id="meta-info">
|
||||||
@ -267,7 +270,7 @@
|
|||||||
var i18nMsg = {
|
var i18nMsg = {
|
||||||
'loading': {{_('Loading...')|safe|tojson}},
|
'loading': {{_('Loading...')|safe|tojson}},
|
||||||
'search_error': {{_('Search error!')|safe|tojson}},
|
'search_error': {{_('Search error!')|safe|tojson}},
|
||||||
'no_result': {{_('No Result(s) found! Please try aonther keyword.')|safe|tojson}},
|
'no_result': {{_('No Result(s) found! Please try another keyword.')|safe|tojson}},
|
||||||
'author': {{_('Author')|safe|tojson}},
|
'author': {{_('Author')|safe|tojson}},
|
||||||
'publisher': {{_('Publisher')|safe|tojson}},
|
'publisher': {{_('Publisher')|safe|tojson}},
|
||||||
'description': {{_('Description')|safe|tojson}},
|
'description': {{_('Description')|safe|tojson}},
|
||||||
|
@ -1323,7 +1323,7 @@ msgid "Search error!"
|
|||||||
msgstr "Chyba vyhledávání!"
|
msgstr "Chyba vyhledávání!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Nebyly nalezeny žádné výsledky! Zadejte jiné klíčové slovo."
|
msgstr "Nebyly nalezeny žádné výsledky! Zadejte jiné klíčové slovo."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "Fehler bei der Suche!"
|
msgstr "Fehler bei der Suche!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen."
|
msgstr "Keine Ergebnisse gefunden! Bitte ein anderes Schlüsselwort benutzen."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1326,7 +1326,7 @@ msgid "Search error!"
|
|||||||
msgstr "¡Error en la búsqueda!"
|
msgstr "¡Error en la búsqueda!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "¡No se encontraron resultados! Por favor intenta con otra palabra clave."
|
msgstr "¡No se encontraron resultados! Por favor intenta con otra palabra clave."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "Hakuvirhe!"
|
msgstr "Hakuvirhe!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Ei osumia! Kokeile jotain tosita hakusanaa."
|
msgstr "Ei osumia! Kokeile jotain tosita hakusanaa."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1337,7 +1337,7 @@ msgid "Search error!"
|
|||||||
msgstr "Rechercher les erreur!"
|
msgstr "Rechercher les erreur!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Aucun résultat. Veuillez essayer avec un nouveau mot clé."
|
msgstr "Aucun résultat. Veuillez essayer avec un nouveau mot clé."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "Keresési hiba!"
|
msgstr "Keresési hiba!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Nincs találat! Próbálj másik kulcsszót."
|
msgstr "Nincs találat! Próbálj másik kulcsszót."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1323,7 +1323,7 @@ msgid "Search error!"
|
|||||||
msgstr "Errore di ricerca!"
|
msgstr "Errore di ricerca!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Nessun risultato! Prova con un altro criterio di ricerca."
|
msgstr "Nessun risultato! Prova con un altro criterio di ricerca."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "検索エラー"
|
msgstr "検索エラー"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "検索結果が見つかりません。別のキーワードで検索してみてください。"
|
msgstr "検索結果が見つかりません。別のキーワードで検索してみてください。"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1325,7 +1325,7 @@ msgid "Search error!"
|
|||||||
msgstr "ការស្វែងរកមានកំហុស!"
|
msgstr "ការស្វែងរកមានកំហុស!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1325,7 +1325,7 @@ msgid "Search error!"
|
|||||||
msgstr "Zoekfout!"
|
msgstr "Zoekfout!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Geen resultaten gevonden! Gebruik een ander trefwoord."
|
msgstr "Geen resultaten gevonden! Gebruik een ander trefwoord."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1337,7 +1337,7 @@ msgid "Search error!"
|
|||||||
msgstr "Błąd wyszukiwania!"
|
msgstr "Błąd wyszukiwania!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Nie znaleziono! Spróbuj użyć innego kluczowego słowa."
|
msgstr "Nie znaleziono! Spróbuj użyć innego kluczowego słowa."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1325,7 +1325,7 @@ msgid "Search error!"
|
|||||||
msgstr "Ошибка поиска!"
|
msgstr "Ошибка поиска!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Результат(ы) не найдены! Попробуйте другое ключевое слово."
|
msgstr "Результат(ы) не найдены! Попробуйте другое ключевое слово."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "Sökningsfel!"
|
msgstr "Sökningsfel!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "Inga resultat hittades! Försök med ett annat sökord."
|
msgstr "Inga resultat hittades! Försök med ett annat sökord."
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1323,7 +1323,7 @@ msgid "Search error!"
|
|||||||
msgstr "Помилка пошуку!"
|
msgstr "Помилка пошуку!"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1324,7 +1324,7 @@ msgid "Search error!"
|
|||||||
msgstr "搜索错误"
|
msgstr "搜索错误"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr "找不到结果。请尝试另一个关键字"
|
msgstr "找不到结果。请尝试另一个关键字"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
@ -1323,7 +1323,7 @@ msgid "Search error!"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:270
|
#: cps/templates/book_edit.html:270
|
||||||
msgid "No Result(s) found! Please try aonther keyword."
|
msgid "No Result(s) found! Please try another keyword."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:12
|
#: cps/templates/config_edit.html:12
|
||||||
|
Loading…
Reference in New Issue
Block a user