1
0
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:
Ozzieisaacs 2020-03-07 13:33:35 +01:00
commit 89927fd7e9
18 changed files with 96 additions and 18 deletions

View File

@ -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);
} }
} }

View File

@ -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}},

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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