mirror of
https://github.com/vega-org/vega-providers.git
synced 2026-04-17 15:41:45 +00:00
1 line
2.3 KiB
JavaScript
1 line
2.3 KiB
JavaScript
"use strict";var __defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__hasOwnProp=Object.prototype.hasOwnProperty,__name=(target,value)=>__defProp(target,"name",{value:value,configurable:!0}),__export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&"object"==typeof from||"function"==typeof from)for(let key of __getOwnPropNames(from))__hasOwnProp.call(to,key)||key===except||__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to},__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod),__async=(__this,__arguments,generator)=>new Promise((resolve,reject)=>{var fulfilled=value=>{try{step(generator.next(value))}catch(e){reject(e)}},rejected=value=>{try{step(generator.throw(value))}catch(e){reject(e)}},step=x=>x.done?resolve(x.value):Promise.resolve(x.value).then(fulfilled,rejected);step((generator=generator.apply(__this,__arguments)).next())}),episodes_exports={};__export(episodes_exports,{getEpisodes:()=>getEpisodes});var getEpisodes=__name(function(_0){return __async(this,arguments,function*({url:url,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;try{const html=(yield axios.get(url)).data,$=cheerio.load(html),episodeLinks=[];return $("table tbody tr").each((i,element)=>{const linkElement=$(element).find("td:first-child a"),fileName=linkElement.text().trim(),fileLink=linkElement.attr("href");if(fileName&&fileLink&&"../"!==fileName&&"Parent Directory"!==fileName&&(fileName.includes(".mp4")||fileName.includes(".mkv")||fileName.includes(".avi")||fileName.includes(".mov"))){const fullLink=fileLink;let episodeTitle=fileName;const episodeMatch=fileName.match(/[Ss](\d+)[Ee](\d+)/),simpleEpisodeMatch=fileName.match(/[Ee](\d+)/);if(episodeMatch)episodeTitle=`S${episodeMatch[1]}E${episodeMatch[2]} - ${fileName}`;else if(simpleEpisodeMatch)episodeTitle=`Episode ${simpleEpisodeMatch[1]} - ${fileName}`;else{const numberMatch=fileName.match(/(\d+)/);numberMatch&&(episodeTitle=`Episode ${numberMatch[1]} - ${fileName}`)}episodeLinks.push({title:episodeTitle,link:fullLink})}}),episodeLinks}catch(err){return console.error("111477 episodes error:",err),[]}})},"getEpisodes");exports.getEpisodes=getEpisodes; |