mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 23:51:44 +00:00
refactor: Simplify link generation in getMeta and getStream functions
This commit is contained in:
2
dist/guardahd/meta.js
vendored
2
dist/guardahd/meta.js
vendored
@@ -1 +1 @@
|
||||
"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k,_l,_m,_o,_p,_q;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.name)||"",synopsis:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.description)||"",image:(null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.background)||"",imdbId:(null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.imdb_id)||"",type:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{var _a,_b,_c,_d,_e,_f,_g,_h;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:JSON.stringify({title:null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.name,imdbId:null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.imdb_id,season:null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[1],episode:null===(_d=null==video?void 0:video.id)||void 0===_d?void 0:_d.split(":")[2],type:null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.type,tmdbId:(null===(_g=null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.moviedb_id)||void 0===_g?void 0:_g.toString())||"",year:null===(_h=null==data?void 0:data.meta)||void 0===_h?void 0:_h.year})}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:JSON.stringify({title:null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.name,imdbId:null===(_l=null==data?void 0:data.meta)||void 0===_l?void 0:_l.imdb_id,season:"",episode:"",type:null===(_m=null==data?void 0:data.meta)||void 0===_m?void 0:_m.type,tmdbId:(null===(_p=null===(_o=null==data?void 0:data.meta)||void 0===_o?void 0:_o.moviedb_id)||void 0===_p?void 0:_p.toString())||"",year:null===(_q=null==data?void 0:data.meta)||void 0===_q?void 0:_q.year})}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta;
|
||||
"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getMeta=void 0;const getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){var _b,_c,_d,_e,_f,_g,_h,_j,_k;const axios=providerContext.axios;try{const data=(yield axios.get(link)).data,meta={title:(null===(_b=null==data?void 0:data.meta)||void 0===_b?void 0:_b.name)||"",synopsis:(null===(_c=null==data?void 0:data.meta)||void 0===_c?void 0:_c.description)||"",image:(null===(_d=null==data?void 0:data.meta)||void 0===_d?void 0:_d.background)||"",imdbId:(null===(_e=null==data?void 0:data.meta)||void 0===_e?void 0:_e.imdb_id)||"",type:(null===(_f=null==data?void 0:data.meta)||void 0===_f?void 0:_f.type)||"movie"},links=[];let directLinks=[],season=new Map;if("series"===meta.type){null===(_h=null===(_g=null==data?void 0:data.meta)||void 0===_g?void 0:_g.videos)||void 0===_h||_h.map(video=>{var _a,_b,_c;(null==video?void 0:video.season)<=0||(season.has(null==video?void 0:video.season)||season.set(null==video?void 0:video.season,[]),season.get(null==video?void 0:video.season).push({title:"Episode "+(null==video?void 0:video.episode),type:"series",link:`${null===(_a=null==data?void 0:data.meta)||void 0===_a?void 0:_a.imdb_id}-${null===(_b=null==video?void 0:video.id)||void 0===_b?void 0:_b.split(":")[1]}-${null===(_c=null==video?void 0:video.id)||void 0===_c?void 0:_c.split(":")[2]}`}))});const keys=Array.from(season.keys());keys.sort(),keys.map(key=>{directLinks=season.get(key),links.push({title:`Season ${key}`,directLinks:directLinks})})}else links.push({title:null===(_j=null==data?void 0:data.meta)||void 0===_j?void 0:_j.name,directLinks:[{title:"Movie",type:"movie",link:`${null===(_k=null==data?void 0:data.meta)||void 0===_k?void 0:_k.imdb_id}-`}]});return Object.assign(Object.assign({},meta),{linkList:links})}catch(err){return{title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}}})};exports.getMeta=getMeta;
|
||||
2
dist/guardahd/stream.js
vendored
2
dist/guardahd/stream.js
vendored
@@ -1 +1 @@
|
||||
"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[];let parsedId="string"==typeof id?JSON.parse(id):id;"string"==typeof parsedId&&(parsedId=JSON.parse(parsedId));const{imdbId:imdbId,season:season,episode:episode}=parsedId,mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream;
|
||||
"use strict";var __awaiter=this&&this.__awaiter||function(thisArg,_arguments,P,generator){return new(P||(P=Promise))(function(resolve,reject){function fulfilled(value){try{step(generator.next(value))}catch(e){reject(e)}}function rejected(value){try{step(generator.throw(value))}catch(e){reject(e)}}function step(result){var value;result.done?resolve(result.value):(value=result.value,value instanceof P?value:new P(function(resolve){resolve(value)})).then(fulfilled,rejected)}step((generator=generator.apply(thisArg,_arguments||[])).next())})};Object.defineProperty(exports,"__esModule",{value:!0}),exports.getStream=void 0;const getStream=function(_a){return __awaiter(this,arguments,void 0,function*({link:id,type:type,providerContext:providerContext}){try{const{axios:axios,cheerio:cheerio,extractors:extractors}=providerContext,{superVideoExtractor:superVideoExtractor}=extractors;function ExtractGuardahd(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb}){try{const url="https://guardahd.stream"+("/set-movie-a/"+imdb),html=(yield axios.get(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}function GetMostraguardaStream(_a){return __awaiter(this,arguments,void 0,function*({imdb:imdb,type:type,season:season,episode:episode}){try{const url="https://mostraguarda.stream"+("tv"===type?`/serie/${imdb}/${season}/${episode}`:`/movie/${imdb}`),html=(yield axios(url,{timeout:4e3})).data,superVideoUrl=cheerio.load(html)('li:contains("supervideo")').attr("data-link");if(!superVideoUrl)return null;const controller2=new AbortController,signal2=controller2.signal;setTimeout(()=>controller2.abort(),4e3);const res2=yield fetch("https:"+superVideoUrl,{signal:signal2}),data=yield res2.text();return yield superVideoExtractor(data)}catch(err){}})}const streams=[],[imdbId,season,episode]=id.split("-"),mostraguardaStream=yield GetMostraguardaStream({imdb:imdbId,type:type,season:season,episode:episode});mostraguardaStream&&streams.push({server:"Supervideo 1",link:mostraguardaStream,type:"m3u8"});const guardahdStream=yield ExtractGuardahd({imdb:imdbId,type:type,season:season,episode:episode});return guardahdStream&&streams.push({server:"Supervideo 2",link:guardahdStream,type:"m3u8"}),streams}catch(err){return[]}})};exports.getStream=getStream;
|
||||
@@ -32,15 +32,9 @@ export const getMeta = async function ({
|
||||
season.get(video?.season).push({
|
||||
title: "Episode " + video?.episode,
|
||||
type: "series",
|
||||
link: JSON.stringify({
|
||||
title: data?.meta?.name as string,
|
||||
imdbId: data?.meta?.imdb_id,
|
||||
season: video?.id?.split(":")[1],
|
||||
episode: video?.id?.split(":")[2],
|
||||
type: data?.meta?.type,
|
||||
tmdbId: data?.meta?.moviedb_id?.toString() || "",
|
||||
year: data?.meta?.year,
|
||||
}),
|
||||
link: `${data?.meta?.imdb_id}-${video?.id?.split(":")[1]}-${
|
||||
video?.id?.split(":")[2]
|
||||
}`,
|
||||
});
|
||||
});
|
||||
const keys = Array.from(season.keys());
|
||||
@@ -59,15 +53,7 @@ export const getMeta = async function ({
|
||||
{
|
||||
title: "Movie",
|
||||
type: "movie",
|
||||
link: JSON.stringify({
|
||||
title: data?.meta?.name as string,
|
||||
imdbId: data?.meta?.imdb_id,
|
||||
season: "",
|
||||
episode: "",
|
||||
type: data?.meta?.type,
|
||||
tmdbId: data?.meta?.moviedb_id?.toString() || "",
|
||||
year: data?.meta?.year,
|
||||
}),
|
||||
link: `${data?.meta?.imdb_id}-`,
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
@@ -93,12 +93,9 @@ export const getStream = async function ({
|
||||
console.log(id);
|
||||
const streams: Stream[] = [];
|
||||
// Handle double-encoded JSON
|
||||
let parsedId = typeof id === "string" ? JSON.parse(id) : id;
|
||||
if (typeof parsedId === "string") {
|
||||
parsedId = JSON.parse(parsedId);
|
||||
}
|
||||
const { imdbId, season, episode } = parsedId;
|
||||
console.log("Parsed ID:", parsedId);
|
||||
|
||||
const [imdbId, season, episode] = id.split("-");
|
||||
console.log("Parsed ID:", { imdbId, season, episode });
|
||||
console.log("imdbId:", imdbId);
|
||||
|
||||
///// mostraguarda
|
||||
|
||||
Reference in New Issue
Block a user