👓 Adding the lastEpisodes with animeflv function

pull/44/head
capitanwesler 4 years ago
parent adad49eaae
commit 77513c4820

@ -250,7 +250,8 @@ export default class AnimeController {
}
async getLastEpisodes(req: Request, res: Response, next: NextFunction) {
// let data: any;
const { options } = req.params;
let data: any;
let $: cheerio.Root;
let episodes: Episode[] = [];
let animeList: any[] = [];
@ -268,74 +269,83 @@ export default class AnimeController {
}
}
// @ANIMEFLV
// data = await requestGot(
// `${urls.BASE_ANIMEFLV_JELU}LatestEpisodesAdded`,
// {
// parse: true,
// scrapy: false,
// },
// );
$ = await requestGot(`${urls.BASE_MONOSCHINOS}`, {
scrapy: true,
parse: false,
});
switch (options) {
case 'monoschinos':
$ = await requestGot(`${urls.BASE_MONOSCHINOS}`, {
scrapy: true,
parse: false,
});
break;
default:
data = await requestGot(
`${urls.BASE_ANIMEFLV_JELU}LatestEpisodesAdded`,
{
parse: true,
scrapy: false,
},
);
break;
}
} catch (err) {
return next(err);
}
// @ANIMEFLV
// for (const episode of data.episodes) {
// const formattedEpisode: Episode = {
// id: '12345/' + episode.id,
// title: episode.title,
// image: episode.poster,
// episode: episode.episode,
// servers: await transformUrlServer(episode.servers),
// };
// episodes.push(formattedEpisode);
// }
let getLastest: any = $('.container .caps .container')[0];
$(getLastest)
.find('.row article')
.each((index: number, element: cheerio.Element) => {
let el: cheerio.Cheerio = $(element);
let title: string | undefined = el
.find('.Title')
.html()
?.split('\t')[0];
let img: any = el.find('.Image img').attr('src');
let type: any = el.find('.Image figure span').text();
type = type.substring(1, type.length);
let nEpisode: any = el.find('.dataEpi .episode').text();
nEpisode = parseInt(nEpisode.split('\n')[1]);
let id: any = el.find('a').attr('href');
id = id.split('/')[4];
id = id.split('-');
id.splice(id.length - 2, 2);
id = `${id.join('-')}-episodio-${nEpisode}`;
let anime = {
id: `ver/${id}`,
title,
image: img,
episode: nEpisode,
};
animeList.push(anime);
});
for (const anime of animeList) {
episodes.push({
id: anime.id,
title: anime.title,
image: await imageUrlToBase64(anime.image),
episode: anime.episode,
servers: await videoServersMonosChinos(anime.id),
});
switch (options) {
case 'monoschinos':
let getLastest: any = $!('.container .caps .container')[0];
$!(getLastest)
.find('.row article')
.each((index: number, element: cheerio.Element) => {
let el: cheerio.Cheerio = $(element);
let title: string | undefined = el
.find('.Title')
.html()
?.split('\t')[0];
let img: any = el.find('.Image img').attr('src');
let type: any = el.find('.Image figure span').text();
type = type.substring(1, type.length);
let nEpisode: any = el.find('.dataEpi .episode').text();
nEpisode = parseInt(nEpisode.split('\n')[1]);
let id: any = el.find('a').attr('href');
id = id.split('/')[4];
id = id.split('-');
id.splice(id.length - 2, 2);
id = `${id.join('-')}-episodio-${nEpisode}`;
let anime = {
id: `ver/${id}`,
title,
image: img,
episode: nEpisode,
};
animeList.push(anime);
});
for (const anime of animeList) {
episodes.push({
id: anime.id,
title: anime.title,
image: await imageUrlToBase64(anime.image),
episode: anime.episode,
servers: await videoServersMonosChinos(anime.id),
});
}
break;
default:
for (const episode of data.episodes) {
const formattedEpisode: Episode = {
id: '12345/' + episode.id,
title: episode.title,
image: episode.poster,
episode: episode.episode,
servers: await transformUrlServer(episode.servers),
};
episodes.push(formattedEpisode);
}
break;
}
if (episodes.length > 0) {

@ -72,7 +72,7 @@ routes.get('/api/v4/', (req: Request, res: Response) => {
routes.get('/api/v4/schedule/:day', animeController.schedule);
routes.get('/api/v4/top/:type/:subtype?/:page', animeController.top);
routes.get('/api/v4/allAnimes', animeController.getAllAnimes);
routes.get('/api/v4/lastEpisodes', animeController.getLastEpisodes);
routes.get('/api/v4/lastEpisodes/:options?', animeController.getLastEpisodes);
routes.get('/api/v4/movies/:type/:page', animeController.getContentMovie);
routes.get('/api/v4/ova/:type/:page', animeController.getContentOva);
routes.get('/api/v4/special/:type/:page', animeController.getContentSpecial);

Loading…
Cancel
Save