Added Genres - v2.4.0

pull/1/head v2.4.0
Jéluchu 5 years ago
parent 7054d3b274
commit 83503123cf

@ -1,4 +1,4 @@
# **Aruppi API** (v2.3.0) # **Aruppi API** (v2.4.0)
> This API has everything about Japan, from anime, music, radio, images, videos ... to japanese culture > This API has everything about Japan, from anime, music, radio, images, videos ... to japanese culture
> >

2
package-lock.json generated

@ -1,6 +1,6 @@
{ {
"name": "aruppi", "name": "aruppi",
"version": "2.3.0", "version": "2.4.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {

@ -1,6 +1,6 @@
{ {
"name": "aruppi", "name": "aruppi",
"version": "2.3.0", "version": "2.4.0",
"description": "Aruppi is a custom API to obtain data from the Japanese culture for the mobile app", "description": "Aruppi is a custom API to obtain data from the Japanese culture for the mobile app",
"main": "./src/api/api.js", "main": "./src/api/api.js",
"scripts": { "scripts": {

@ -20,7 +20,7 @@ const {
} = require('../utils/index'); } = require('../utils/index');
const { const {
BASE_ANIMEFLV_JELU, BASE_JIKAN, BASE_IVOOX, BASE_QWANT, BASE_YOUTUBE, BASE_THEMEMOE BASE_ANIMEFLV_JELU, BASE_JIKAN, BASE_IVOOX, BASE_QWANT, BASE_YOUTUBE, BASE_THEMEMOE, GENRES_URL
} = require('./urls'); } = require('./urls');
const schedule = async (day) =>{ const schedule = async (day) =>{
@ -467,6 +467,45 @@ const getArtist = async (id) => {
}; };
const getAnimeGenres = async(genre, order, page) => {
let $
let promises = []
let options = { scrapy: true }
if (page !== undefined) {
$ = await homgot(`${GENRES_URL}genre%5B%5D=${genre}&order=${order}&page=${page}`,options)
} else {
$ = await homgot(`${GENRES_URL}genre%5B%5D=${genre}&order=${order}`,options)
}
$('div.Container ul.ListAnimes li article').each((index , element) =>{
const $element = $(element);
const id = $element.find('div.Description a.Button').attr('href').slice(1);
const title = $element.find('a h3').text();
const poster = $element.find('a div.Image figure img').attr('src');
const banner = poster.replace('covers' , 'banners').trim();
const type = $element.find('div.Description p span.Type').text();
const synopsis = $element.find('div.Description p').eq(1).text().trim();
const rating = $element.find('div.Description p span.Vts').text();
promises.push(helper().then(async () => ({
id: id || null,
title: title || null,
poster: await imageUrlToBase64(poster) || null,
banner: banner || null,
synopsis: synopsis || null,
type: type || null,
rating: rating || null
})))
})
return Promise.all(promises);
};
module.exports = { module.exports = {
schedule, schedule,
top, top,
@ -488,5 +527,6 @@ module.exports = {
getOpAndEd, getOpAndEd,
getThemesSeason, getThemesSeason,
getRandomTheme, getRandomTheme,
getArtist getArtist,
getAnimeGenres
}; };

@ -7,7 +7,7 @@ router.get('/', (req, res) => {
res.json({ res.json({
message: 'Aruppi API - 🎏', message: 'Aruppi API - 🎏',
author: 'Jéluchu', author: 'Jéluchu',
version: '2.3.0', version: '2.4.0',
credits: 'The bitch loves APIs that offers data to Aruppi App', credits: 'The bitch loves APIs that offers data to Aruppi App',
entries: [ entries: [
{ {
@ -19,6 +19,7 @@ router.get('/', (req, res) => {
'Season': '/api/v2/season/:year/:type', 'Season': '/api/v2/season/:year/:type',
'All Seasons': '/api/v2/allSeasons', 'All Seasons': '/api/v2/allSeasons',
'All Directory': '/api/v2/allDirectory', 'All Directory': '/api/v2/allDirectory',
'Genres': '/api/v2/getByGenres/:genre/:order/:page?',
'Futures Seasons': '/api/v2/laterSeasons', 'Futures Seasons': '/api/v2/laterSeasons',
'LastEpisodes': '/api/v2/lastEpisodes', 'LastEpisodes': '/api/v2/lastEpisodes',
'Movies': '/api/v2/movies/:type/:page', 'Movies': '/api/v2/movies/:type/:page',

@ -461,4 +461,22 @@ router.get('/artists/:id?', (req, res) =>{
}); });
router.get('/getByGenres/:genre/:order/:page?' , (req , res) =>{
let genre = req.params.genre;
let order = req.params.order;
let page = req.params.page;
api.getAnimeGenres(genre, order , page)
.then(animes =>{
if (animes.length > 0) {
res.status(200).json({
animes
});
} else (
res.status(500).json({ message: 'Aruppi lost in the shell'})
)
}).catch((err) =>{
console.error(err);
});
});
module.exports = router; module.exports = router;

@ -10,6 +10,7 @@ module.exports = {
BASE_RAMENPARADOS: 'https://ramenparados.com/category/noticias/anime/feed/', BASE_RAMENPARADOS: 'https://ramenparados.com/category/noticias/anime/feed/',
BASE_CRUNCHYROLL: 'https://www.crunchyroll.com/newsrss?lang=esES', BASE_CRUNCHYROLL: 'https://www.crunchyroll.com/newsrss?lang=esES',
SEARCH_URL: 'https://animeflv.net/browse?q=', SEARCH_URL: 'https://animeflv.net/browse?q=',
GENRES_URL: 'https://animeflv.net/browse?',
SEARCH_DIRECTORY: 'https://animeflv.net/browse?order=title&page=', SEARCH_DIRECTORY: 'https://animeflv.net/browse?order=title&page=',
BASE_EPISODE_IMG_URL: 'https://cdn.animeflv.net/screenshots/', BASE_EPISODE_IMG_URL: 'https://cdn.animeflv.net/screenshots/',
BASE_QWANT: 'https://api.qwant.com/search/images?', BASE_QWANT: 'https://api.qwant.com/search/images?',

Loading…
Cancel
Save