Adding the related property to moreInfo, to show the respective related animes to that specific anime

pull/14/head
capitanwesler 5 years ago
parent 02293276bf
commit 1e44d6f286

@ -16,7 +16,7 @@ const {
structureThemes,
videoServersJK,
getThemes,
getMALid
getRelatedAnimes
} = require('../utils/index');
const ThemeParser = require('../utils/animetheme');
@ -253,7 +253,8 @@ const getMoreInfo = async (title) =>{
genres: result.genres || null,
moreInfo: await animeExtraInfo(result.mal_title).then(info => info || null),
promo: await getAnimeVideoPromo(result.mal_title).then(promo => promo || null),
characters: await getAnimeCharacters(result.mal_title).then(characters => characters || null)
characters: await getAnimeCharacters(result.mal_title).then(characters => characters || null),
related: await getRelatedAnimes(result.id)
}
} catch (e) {
@ -540,5 +541,6 @@ module.exports = {
getDestAnimePlatforms,
getPlatforms,
getSectionYoutubeVideos,
getProfilePlatform
getProfilePlatform,
getRelatedAnimes
};

@ -52,7 +52,7 @@ async function videoServersJK(id) {
if (serverNames[serverNames.indexOf(server)].toLowerCase() === 'desu') {
serverList.push({
id: serverNames[serverNames.indexOf(server)].toLowerCase(),
url: await desuServerUrl(servers[server]),
url: await desuServerUrl(servers[server]) !== null ? await desuServerUrl(servers[server]) : servers[server],
direct: true
});
}else {
@ -77,7 +77,11 @@ async function desuServerUrl(url) {
$('script').each((index, element) => {
if ($(element).html().includes('var parts = {')) {
script = $(element).html();
if ($(element).html()) {
script = $(element).html();
}else {
return null;
}
}
});
@ -134,6 +138,47 @@ const jkanimeInfo = async (id) => {
};
function getPoster(id) {
let data = JSON.parse(JSON.stringify(require('../assets/directory.json')));
for (let anime of data) {
if (anime.id === id) {
return anime.poster;
}
}
};
async function getRelatedAnimes(id) {
const $ = await homgot(`${BASE_ANIMEFLV}/anime/${id}`, { scrapy: true });
let listRelated = {};
let relatedAnimes = [];
if ($('ul.ListAnmRel').length) {
$('ul.ListAnmRel li a').each((index, element) => {
listRelated[$(element).text()] = $(element).attr('href');
});
for (related in listRelated) {
let posterUrl = getPoster(listRelated[related].split('/')[2]);
relatedAnimes.push(
{
id: listRelated[related].split('/')[2],
title: related,
poster: posterUrl
}
);
}
return relatedAnimes;
}else {
return [];
}
};
const animeflvGenres = async (id) => {
let $ = await homgot(`${BASE_ANIMEFLV}/${id}`, { scrapy: true });
@ -477,6 +522,7 @@ module.exports = {
animeflvInfo,
getAnimeCharacters,
getAnimeVideoPromo,
getRelatedAnimes,
animeExtraInfo,
imageUrlToBase64,
searchAnime,

Loading…
Cancel
Save