Improved getLogo function

This commit is contained in:
mrcanelas
2025-02-04 17:48:41 -03:00
parent 6e8529418a
commit 5dc79cc0e5
+31 -32
View File
@@ -19,47 +19,46 @@ function pickLogo(resp, language, original_language) {
}
}
async function getLogo(tmdbId, language, original_language) {
if (!tmdbId) return Promise.reject(Error(`TMDB ID Not available for Fanart: ${tmdbId}`));
async function getLogo(tmdbId, language, originalLanguage) {
if (!tmdbId) {
throw new Error(`TMDB ID not available for logo: ${tmdbId}`);
}
const fanartLogo = await fanart
.getMovieImages(tmdbId)
.then((res) => {
const resp = res.hdmovielogo;
if (resp !== undefined) {
const { url } = pickLogo(resp, language, original_language);
return url;
} else {
return '';
.then((response) => {
const logos = response.hdmovielogo;
if (logos) {
const logo = pickLogo(logos, language, originalLanguage);
return logo.url;
}
})
.catch((err) => {
console.error("Error fetching logo from Fanart.tv:", err);
return '';
});
})
.catch(() => undefined);
if (fanartLogo) {
return fanartLogo;
} else {
const tmdbLogo = await moviedb.movieImages({ id: tmdbId })
.then((res) => {
if (res.logos && res.logos.length > 0) {
const logo = res.logos.find(
(logo) => logo.iso_639_1 === language.split("-")[0]
) || res.logos.find((logo) => logo.iso_639_1 === original_language) || res.logos.find((logo) => logo.iso_639_1 === "en");
const logoUrl = logo ? `https://image.tmdb.org/t/p/original${logo.file_path}` : '';
return logoUrl;
}
return '';
})
.catch((err) => {
console.error("Error fetching logo from TMDB:", err);
return '';
});
return tmdbLogo;
}
const tmdbLogo = await moviedb
.movieImages({ id: tmdbId })
.then((response) => {
const logos = response.logos;
if (logos && logos.length > 0) {
const logo = logos.find(
(logo) =>
logo.iso_639_1 === language.split('-')[0] ||
logo.iso_639_1 === originalLanguage ||
logo.iso_639_1 === 'en'
);
return logo ? `https://image.tmdb.org/t/p/original${logo.file_path}` : '';
}
return '';
})
.catch(() => '');
return tmdbLogo;
}
async function getTvLogo(tvdb_id, tmdbId, language, original_language) {