New transform Servers Service

pull/1/head
Jéluchu 5 years ago
parent fa11f6ae17
commit 557afe5f82

@ -8,7 +8,8 @@ const {
getAnimeCharacters, getAnimeCharacters,
getAnimeVideoPromo, getAnimeVideoPromo,
animeExtraInfo, animeExtraInfo,
searchAnime searchAnime,
transformUrlServer
} = require('../utils/index'); } = require('../utils/index');
const { const {
@ -342,17 +343,8 @@ const getAnimeServers = async (id) => {
const data = await cloudscraper.get(`${BASE_ANIMEFLV_JELU}GetAnimeServers/${id}`); const data = await cloudscraper.get(`${BASE_ANIMEFLV_JELU}GetAnimeServers/${id}`);
let body = JSON.parse(data).servers; let body = JSON.parse(data).servers;
const promises = []
body.map(doc =>{
promises.push({
id: doc.title.toLowerCase(),
url: doc.code
});
});
return Promise.all(promises); return Promise.all(await transformUrlServer(body));
}; };

@ -213,4 +213,5 @@ router.get('/search/:title' , (req, res) =>{
}); });
module.exports = router; module.exports = router;

@ -266,32 +266,43 @@ const searchAnime = async(query) => {
}; };
const MergeRecursive = (obj1 , obj2) => { const transformUrlServer = async(urlReal) =>{
for(var p in obj2) {
try{ let res
// Property in destination object set; update its value. let body
if(obj2[p].constructor == Object){ const promises = []
obj1[p] = MergeRecursive(obj1[p], obj2[p]);
}else{ for(i = 0; i< urlReal.length -1; i++){
obj1[p] = obj2[p]; switch (urlReal[i].server) {
} case "amus": // Izanagi
}catch(e){ res = await cloudscraper(urlReal[i].code.replace("embed","check"));
// Property in destination object not set; create it and set its value. body = await res;
obj1[p] = obj2[p]; urlReal[i].code = JSON.parse(body).file
break;
case "fembed": // Fembed
res = await cloudscraper(urlReal[i].code.replace("/v/", "/api/source/"), {method: 'POST'});
body = await res;
urlReal[i].code = JSON.parse(body).data[0].file
break;
case "natsuki": // Natsuki
res = await cloudscraper(urlReal[i].code.replace("embed","check"));
body = await res;
urlReal[i].code = JSON.parse(body).file
break;
default:
break;
} }
} }
return obj1;
}
const urlify = async(text) =>{ urlReal.map(doc =>{
const urls = []; promises.push({
const urlRegex = /(https?:\/\/[^\s]+)/g; id: doc.title.toLowerCase(),
text.replace(urlRegex , (url) =>{ url: doc.code
urls.push(url) });
}); });
return Promise.all(urls);
};
return promises;
}
module.exports = { module.exports = {
animeflvInfo, animeflvInfo,
@ -300,6 +311,5 @@ module.exports = {
animeExtraInfo, animeExtraInfo,
imageUrlToBase64, imageUrlToBase64,
searchAnime, searchAnime,
MergeRecursive, transformUrlServer
urlify
} }
Loading…
Cancel
Save