Files
tmdb-addon/lib/getLogo.js
T
mrcanelas 72b66ed270 fix bugs
2021-07-01 13:27:24 -03:00

56 lines
1.5 KiB
JavaScript

require('dotenv').config()
const FanartTvApi = require("fanart.tv-api");
const apiKey = process.env.fanart_api;
const baseUrl = "http://webservice.fanart.tv/v3/";
const fanart = new FanartTvApi({ apiKey, baseUrl });
function pickLogo(resp, language, original_language) {
if (
resp.find((data) => data.lang === language.split("-")[0]) != undefined
) {
return resp.find((data) => data.lang === language.split("-")[0]);
} else if (
resp.find((data) => data.lang === original_language) != undefined
) {
return resp.find((data) => data.lang === original_language);
} else if (resp.find((data) => data.lang === "en") != undefined) {
return resp.find((data) => data.lang === "en");
} else {
return resp[0];
}
}
async function getLogo(tmdbId, language, original_language) {
const meta = fanart
.getMovieImages(tmdbId)
.then((res) => {
const resp = res.hdmovielogo
if (resp !== undefined) {
const { url } = pickLogo(resp, language, original_language);
return url
} else {
return ''
}
})
.catch(console.error);
return meta;
}
async function getTvLogo(tvdb_id, language, original_language) {
const meta = fanart
.getShowImages(tvdb_id)
.then((res) => {
const resp = res.hdtvlogo;
if (resp !== undefined) {
const { url } = pickLogo(resp, language, original_language);
return url
} else {
return ''
}
})
.catch(console.error);
return meta;
}
module.exports = { getLogo, getTvLogo };