// getList({page:2}).then(console.log);
function getList(option){
option = Object.assign({
search: false,
type: 'all',
sort: 'latest',
page: '1',
quality: 'all'
}, option);
if (option.search) option.search = option.search.trim().replace(/\s+/g, '+');
function makeUrl(){
let urlPart = [base_url, 'movie/filter', option.type, option.sort,
'all', 'all', 'all', 'all', option.quality, option.page];
if (option.search) urlPart = [base_url,'movie/search', option.search, option.page];
// console.log(urlPart.join('/'));
return urlPart.join('/');
}
return rq(makeUrl()).then(cheerio.load)
.then($=>{
let pagination = $('ul.pagination').first();
let pages = pagination.find('li>a[data-ci-pagination-page]');
return {
data: $('div[data-movie-id]').toArray()
.map(x=>{
x = $(x);
let episode = x.find('.mli-eps');
return {
title: x.find('a[href]').attr('title'),
link: x.find('a[href]').attr('href').replace(base_url, option.host || ''),
img: x.find('img[data-original]').attr('data-original'),
quality: x.find('span.mli-quality').text() || 'HD',
isSeries: !!episode.length,
latestEpisode: episode.find('i').text(),
}
}),
currentPage: +(pagination.find('li.active>a').text() || '1'),
totalPage: +((pages.length>0)?pages.last().attr('data-ci-pagination-page'): '1')
}
});
}