From 3d86424f6a62e6f743246f49c92878b9d52f807e Mon Sep 17 00:00:00 2001 From: himanshu8443 Date: Mon, 29 Sep 2025 16:50:38 +0530 Subject: [PATCH] refactor: update getMeta function to use async/await and improve code formatting --- dist/katMovieFix/meta.js | 2 +- providers/katMovieFix/meta.ts | 21 +++++++++++++++++---- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/dist/katMovieFix/meta.js b/dist/katMovieFix/meta.js index 19b63c6..2d2f856 100644 --- a/dist/katMovieFix/meta.js +++ b/dist/katMovieFix/meta.js @@ -1 +1 @@ -"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.scrapeEpisodePage=exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;return axios.get(link,{headers:headers}).then(response=>{var _a;const $=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),title=$("h1.entry-title").text().trim()||$("h2.entry-title").text().trim()||"",imdbMatch=null===(_a=infoContainer.html())||void 0===_a?void 0:_a.match(/tt\d+/),imdbId=imdbMatch?imdbMatch[0]:"",synopsis=infoContainer.find("h3:contains('SYNOPSIS'), h3:contains('synopsis')").next("p").text().trim()||"";let image=infoContainer.find("img").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image);const type=/Season \d+/i.test(infoContainer.text())?"series":"movie",linkList=[];return"series"===type?infoContainer.find("h2 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),linkText=el$.text().trim();href&&linkText.includes("Single Episode")&&linkList.push({title:linkText,episodesLink:href,directLinks:[]})}):infoContainer.find("a[href]").each((_,aEl)=>{var _a;const el$=$(aEl),href=(null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim())||"";if(!href)return;const btnText=el$.text().trim()||"Download";linkList.push({title:btnText,directLinks:[{title:btnText,link:href,type:"movie"}],episodesLink:""})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:linkList}}).catch(err=>({title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}))};exports.getMeta=getMeta;const scrapeEpisodePage=function({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,result=[];return axios.get(link,{headers:headers}).then(response=>{const $=cheerio.load(response.data);return $(".entry-content,.post-inner").find("h3 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),btnText=el$.text().trim()||"Download";href&&result.push({title:btnText,link:href,type:"series"})}),result}).catch(err=>result)};exports.scrapeEpisodePage=scrapeEpisodePage; \ No newline at end of file +"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.scrapeEpisodePage=exports.getMeta=void 0;const headers={Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8","Cache-Control":"no-store","Accept-Language":"en-US,en;q=0.9",DNT:"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"},getMeta=function(_a){return __awaiter(this,arguments,void 0,function*({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext;return axios.get(link,{headers:headers}).then(response=>{var _a;const $=cheerio.load(response.data),infoContainer=$(".entry-content,.post-inner"),title=$("h1.entry-title").text().trim()||$("h2.entry-title").text().trim()||"",imdbMatch=null===(_a=infoContainer.html())||void 0===_a?void 0:_a.match(/tt\d+/),imdbId=imdbMatch?imdbMatch[0]:"",synopsis=infoContainer.find("h3:contains('SYNOPSIS'), h3:contains('synopsis')").next("p").text().trim()||"";let image=infoContainer.find("img").first().attr("src")||"";image.startsWith("//")&&(image="https:"+image);const type=/Season \d+/i.test(infoContainer.text())?"series":"movie",linkList=[];return"series"===type?infoContainer.find("h2 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),linkText=el$.text().trim();href&&linkText.includes("Single Episode")&&linkList.push({title:linkText,episodesLink:href,directLinks:[]})}):infoContainer.find("a[href]").each((_,aEl)=>{var _a;const el$=$(aEl),href=(null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim())||"";if(!href)return;const btnText=el$.text().trim()||"Download";linkList.push({title:btnText,directLinks:[{title:btnText,link:href,type:"movie"}],episodesLink:""})}),{title:title,synopsis:synopsis,image:image,imdbId:imdbId,type:type,linkList:linkList}}).catch(err=>({title:"",synopsis:"",image:"",imdbId:"",type:"movie",linkList:[]}))})};exports.getMeta=getMeta;const scrapeEpisodePage=function({link:link,providerContext:providerContext}){const{axios:axios,cheerio:cheerio}=providerContext,result=[];return axios.get(link,{headers:headers}).then(response=>{const $=cheerio.load(response.data);return $(".entry-content,.post-inner").find("h3 a").each((_,el)=>{var _a;const el$=$(el),href=null===(_a=el$.attr("href"))||void 0===_a?void 0:_a.trim(),btnText=el$.text().trim()||"Download";href&&result.push({title:btnText,link:href,type:"series"})}),result}).catch(err=>result)};exports.scrapeEpisodePage=scrapeEpisodePage; \ No newline at end of file diff --git a/providers/katMovieFix/meta.ts b/providers/katMovieFix/meta.ts index 1d8bf4f..356a432 100644 --- a/providers/katMovieFix/meta.ts +++ b/providers/katMovieFix/meta.ts @@ -12,7 +12,7 @@ const headers = { }; // --- getMeta using Promise --- -export const getMeta = function ({ +export const getMeta = async function ({ link, providerContext, }: { @@ -45,7 +45,9 @@ export const getMeta = function ({ let image = infoContainer.find("img").first().attr("src") || ""; if (image.startsWith("//")) image = "https:" + image; - const type = /Season \d+/i.test(infoContainer.text()) ? "series" : "movie"; + const type = /Season \d+/i.test(infoContainer.text()) + ? "series" + : "movie"; const linkList: Link[] = []; if (type === "series") { @@ -55,7 +57,11 @@ export const getMeta = function ({ const href = el$.attr("href")?.trim(); const linkText = el$.text().trim(); if (href && linkText.includes("Single Episode")) { - linkList.push({ title: linkText, episodesLink: href, directLinks: [] }); + linkList.push({ + title: linkText, + episodesLink: href, + directLinks: [], + }); } }); } else { @@ -77,7 +83,14 @@ export const getMeta = function ({ }) .catch((err) => { console.error("getMeta error:", err); - return { title: "", synopsis: "", image: "", imdbId: "", type: "movie", linkList: [] }; + return { + title: "", + synopsis: "", + image: "", + imdbId: "", + type: "movie", + linkList: [], + }; }); };