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

@ -52,7 +52,7 @@ async function videoServersJK(id) {
if (serverNames[serverNames.indexOf(server)].toLowerCase() === 'desu') { if (serverNames[serverNames.indexOf(server)].toLowerCase() === 'desu') {
serverList.push({ serverList.push({
id: serverNames[serverNames.indexOf(server)].toLowerCase(), 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 direct: true
}); });
}else { }else {
@ -77,7 +77,11 @@ async function desuServerUrl(url) {
$('script').each((index, element) => { $('script').each((index, element) => {
if ($(element).html().includes('var parts = {')) { 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) => { const animeflvGenres = async (id) => {
let $ = await homgot(`${BASE_ANIMEFLV}/${id}`, { scrapy: true }); let $ = await homgot(`${BASE_ANIMEFLV}/${id}`, { scrapy: true });
@ -477,6 +522,7 @@ module.exports = {
animeflvInfo, animeflvInfo,
getAnimeCharacters, getAnimeCharacters,
getAnimeVideoPromo, getAnimeVideoPromo,
getRelatedAnimes,
animeExtraInfo, animeExtraInfo,
imageUrlToBase64, imageUrlToBase64,
searchAnime, searchAnime,

Loading…
Cancel
Save