Added new manifest

This commit is contained in:
Silas Alves
2021-01-21 09:28:20 -03:00
parent 826d320290
commit 7f12e5422e
4 changed files with 68 additions and 30 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
{
"projectName": "tmdb-addon",
"lastCommit": "da0459d"
"lastCommit": "826d320"
}
+5
View File
@@ -13,6 +13,11 @@ var respond = function (res, data) {
res.send(data);
};
addon.get("/manifest.json", async function (req, res) {
const resp = await getManifest()
respond(res, resp);
});
addon.get("/:language/manifest.json", async function (req, res) {
const language = req.params.language
const resp = await getManifest(language)
+37 -4
View File
@@ -2,8 +2,9 @@ const { MovieDb } = require("moviedb-promise");
const moviedb = new MovieDb(process.env.tmdb_api);
async function getManifest(language) {
const genre = moviedb
.genreMovieList({ language: language })
if (language != null) {
const genre = moviedb
.genreMovieList({ language: 'en-US' })
.then((res) => {
return res.genres;
})
@@ -13,7 +14,7 @@ async function getManifest(language) {
return el.name;
});
const genre_tv = moviedb
.genreTvList({ language: language })
.genreTvList({ language: 'en-US' })
.then((res) => {
return res.genres;
})
@@ -34,7 +35,7 @@ async function getManifest(language) {
idPrefixes: ["tmdb:"],
behaviorHints: {
configurable: true,
configurationRequired: false,
configurationRequired: true,
},
catalogs: [
{
@@ -52,6 +53,38 @@ async function getManifest(language) {
],
};
return manifest;
} else {
const manifest = {
id: "tmdb.addon",
version: "0.0.1",
icon:
"https://pbs.twimg.com/profile_images/1243623122089041920/gVZIvphd_400x400.jpg",
name: "The Movie Database Addon",
description: "TMDB API for Stremio.",
resources: ["catalog", "meta"],
types: ["movie", "series"],
idPrefixes: ["tmdb:"],
// behaviorHints: {
// configurable: true,
// configurationRequired: false,
// },
catalogs: [
{
type: "movie",
id: "movie.top",
extraSupported: ["search", "genre", "skip"],
genres: genres_movie,
},
{
type: "series",
id: "series.top",
extraSupported: ["search", "genre", "skip"],
genres: genres_series,
},
],
};
return manifest;
}
}
module.exports = { getManifest };
+25 -25
View File
@@ -9,17 +9,17 @@ const moviedb = new MovieDb(process.env.tmdb_api);
async function getMeta(type, language, tmdbId) {
if (type === "movie") {
const get_logo = await getLogo(type, tmdbId)
const logo = get_logo.map((el) => {
return el.url
})
const resp = await getVideos(type, language, tmdbId);
const credits = await getCredits(type, language, tmdbId);
const crew = await getDirector(type, language, tmdbId);
const cast = credits.slice(0, 4).map((el) => {
return el.name;
});
const director = crew.find((x) => x.job === "Director").name;
// const get_logo = await getLogo(type, tmdbId)
// const logo = get_logo.map((el) => {
// return el.url
// })
// const resp = await getVideos(type, language, tmdbId);
// const credits = await getCredits(type, language, tmdbId);
// const crew = await getDirector(type, language, tmdbId);
// const cast = credits.slice(0, 4).map((el) => {
// return el.name;
// });
// const director = crew.find((x) => x.job === "Director").name;
const metas = moviedb
.movieInfo({ id: tmdbId, language: language })
.then((res) => {
@@ -38,32 +38,32 @@ async function getMeta(type, language, tmdbId) {
runtime,
backdrop_path,
} = await metas;
const genero = genres.map((el) => {
return el.name;
});
const videos = resp.map((el) => {
return {
source: `${el.key}`,
type: `${el.type}`,
};
});
// const genero = genres.map((el) => {
// return el.name;
// });
// const videos = resp.map((el) => {
// return {
// source: `${el.key}`,
// type: `${el.type}`,
// };
// });
let meta = {
id: `tmdb:${tmdbId}`,
imdb_id: `${imdb_id}`,
type: type,
name: `${title}`,
imdbRating: `${vote_average}`,
genres: genero,
cast: cast,
director: [`${director}`],
// genres: genero,
// cast: cast,
// director: [`${director}`],
poster: `https://image.tmdb.org/t/p/original${poster_path}`,
posterShape: "regular",
description: `${overview}`,
runtime: `${runtime} mim`,
background: `https://image.tmdb.org/t/p/original${backdrop_path}`,
logo: (logo.slice(0,1)).toString(),
// logo: (logo.slice(0,1)).toString(),
releaseInfo: `${release_date.substr(0, 4)}`,
trailers: videos,
// trailers: videos,
};
return Promise.resolve({ meta });
} else {