Merge pull request #19 from aruppi/feature/improving

Feature/improving fixing some issue with the related animes, not getting some animes
pull/25/head^2
Jesús María 5 years ago committed by GitHub
commit cf5b050917
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -17,7 +17,8 @@ const {
structureThemes, structureThemes,
videoServersJK, videoServersJK,
getThemes, getThemes,
getRelatedAnimes getRelatedAnimesFLV,
getRelatedAnimesMAL
} = require('../utils/index'); } = require('../utils/index');
const ThemeParser = require('../utils/animetheme'); const ThemeParser = require('../utils/animetheme');
@ -224,6 +225,7 @@ const getMoreInfo = async (title) =>{
let data = JSON.parse(JSON.stringify(require('../assets/directory.json'))); let data = JSON.parse(JSON.stringify(require('../assets/directory.json')));
let result = data.filter(anime => fuzzball.ratio(anime.title, title) > 90)[0]; let result = data.filter(anime => fuzzball.ratio(anime.title, title) > 90)[0];
if (!result.jkanime) {
return { return {
title: result.title || null, title: result.title || null,
poster: result.poster || null, poster: result.poster || null,
@ -235,7 +237,22 @@ const getMoreInfo = async (title) =>{
moreInfo: await animeExtraInfo(result.mal_id).then(info => info || null), moreInfo: await animeExtraInfo(result.mal_id).then(info => info || null),
promo: await getAnimeVideoPromo(result.mal_id).then(promo => promo || null), promo: await getAnimeVideoPromo(result.mal_id).then(promo => promo || null),
characters: await getAnimeCharacters(result.mal_id).then(characters => characters || null), characters: await getAnimeCharacters(result.mal_id).then(characters => characters || null),
related: await getRelatedAnimes(result.id) related: await getRelatedAnimesFLV(result.id)
};
}else {
return {
title: result.title || null,
poster: result.poster || null,
synopsis: result.description || null,
status: result.state || null,
type: result.type || null,
rating: result.score || null,
genres: result.genres || null,
moreInfo: await animeExtraInfo(result.mal_id).then(info => info || null),
promo: await getAnimeVideoPromo(result.mal_id).then(promo => promo || null),
characters: await getAnimeCharacters(result.mal_id).then(characters => characters || null),
related: await getRelatedAnimesMAL(result.mal_id)
};
} }
} catch (e) { } catch (e) {
console.log(e); console.log(e);
@ -245,7 +262,7 @@ const getMoreInfo = async (title) =>{
const getEpisodes = async (title) =>{ const getEpisodes = async (title) =>{
try { try {
let data = JSON.parse(JSON.stringify(require('../assets/directory.json'))); let data = JSON.parse(JSON.stringify(require('../assets/directory.json')));
const result = data.filter(x => x.title === title || x.mal_title === title)[0]; const result = data.filter(x => x.title === title)[0];
if (!result.jkanime) { if (!result.jkanime) {
return await animeflvInfo(result.id).then(episodes => episodes || null); return await animeflvInfo(result.id).then(episodes => episodes || null);
@ -536,6 +553,5 @@ module.exports = {
getPlatforms, getPlatforms,
getSectionYoutubeVideos, getSectionYoutubeVideos,
getProfilePlatform, getProfilePlatform,
getRelatedAnimes,
getRandomAnime getRandomAnime
}; };

@ -40879,7 +40879,7 @@
{ {
"id": "rezero-kara-hajimeru-isekai-seikatsu", "id": "rezero-kara-hajimeru-isekai-seikatsu",
"title": "Re:Zero kara Hajimeru Isekai Seikatsu", "title": "Re:Zero kara Hajimeru Isekai Seikatsu",
"mal_id": 36286, "mal_id": 31240,
"poster": "https://aruppi.jeluchu.xyz/res/directory/2385.jpg", "poster": "https://aruppi.jeluchu.xyz/res/directory/2385.jpg",
"type": "Anime", "type": "Anime",
"genres": [ "genres": [

@ -136,9 +136,10 @@ const jkanimeInfo = async (id) => {
}; };
function getPosterAndType(id) { function getPosterAndType(id, mal_id) {
let data = JSON.parse(JSON.stringify(require('../assets/directory.json'))); let data = JSON.parse(JSON.stringify(require('../assets/directory.json')));
if (id) {
for (let anime of data) { for (let anime of data) {
if (anime.id === id) { if (anime.id === id) {
return [ return [
@ -147,11 +148,24 @@ function getPosterAndType(id) {
]; ];
} }
} }
}
if (mal_id) {
for (let anime of data) {
if (anime.mal_id === parseInt(mal_id)) {
return [
anime.poster,
anime.type,
anime.id
];
}
}
}
return ""; return "";
}; }
async function getRelatedAnimes(id) { async function getRelatedAnimesFLV(id) {
const $ = await homgot(`${BASE_ANIMEFLV}/anime/${id}`, { scrapy: true }); const $ = await homgot(`${BASE_ANIMEFLV}/anime/${id}`, { scrapy: true });
let listRelated = {}; let listRelated = {};
let relatedAnimes = []; let relatedAnimes = [];
@ -162,7 +176,7 @@ async function getRelatedAnimes(id) {
}); });
for (related in listRelated) { for (related in listRelated) {
let posterUrl = getPosterAndType(listRelated[related].split('/')[2]); let posterUrl = getPosterAndType(listRelated[related].split('/')[2], false);
relatedAnimes.push( relatedAnimes.push(
{ {
@ -178,7 +192,41 @@ async function getRelatedAnimes(id) {
}else { }else {
return []; return [];
} }
}; }
async function getRelatedAnimesMAL(mal_id) {
const $ = await homgot(`https://myanimelist.net/anime/${mal_id}`, { scrapy: true });
let listRelated = {};
let relatedAnimes = [];
if ($('table.anime_detail_related_anime').length > 0) {
$('table.anime_detail_related_anime').find('tbody tr').each((index, element) => {
if ($(element).find('td').eq(0) !== 'Adaptation:') {
listRelated[$(element).find('td').eq(1).text()] = $(element).find('td').children('a').attr('href');
}
});
for (related in listRelated) {
let posterUrl = getPosterAndType(false, listRelated[related].split('/')[2]);
if (posterUrl !== "") {
relatedAnimes.push(
{
id: posterUrl[2],
title: related,
type: posterUrl[1],
poster: posterUrl[0]
}
);
}
}
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 });
@ -491,7 +539,8 @@ module.exports = {
animeflvInfo, animeflvInfo,
getAnimeCharacters, getAnimeCharacters,
getAnimeVideoPromo, getAnimeVideoPromo,
getRelatedAnimes, getRelatedAnimesFLV,
getRelatedAnimesMAL,
animeExtraInfo, animeExtraInfo,
imageUrlToBase64, imageUrlToBase64,
searchAnime, searchAnime,

Loading…
Cancel
Save