mirror of
https://github.com/Viren070/tmdb-addon.git
synced 2025-12-01 23:18:11 +01:00
Improved getLogo function
This commit is contained in:
+31
-32
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user