Files
vega-providers/providers/vadapav/meta.ts
himanshu8443 2a4aa2a680 renaming
2025-06-16 22:26:38 +05:30

77 lines
1.8 KiB
TypeScript

import { EpisodeLink, Info, Link, ProviderContext } from "../types";
export const getMeta = async function ({
link,
providerContext,
}: {
link: string;
providerContext: ProviderContext;
}): Promise<Info> {
try {
const { axios, cheerio } = providerContext;
const baseUrl = link?.split("/").slice(0, 3).join("/");
const url = link;
const res = await axios.get(url);
const data = res.data;
const $ = cheerio.load(data);
const title =
$(".directory")
.children()
.first()
.text()
.trim()
?.split("/")
.pop()
?.trim() || "";
const links: Link[] = [];
$('.directory-entry:not(:contains("Parent Directory"))').map(
(i, element) => {
const link = $(element).attr("href");
if (link) {
links.push({
episodesLink: baseUrl + link,
title: $(element).text(),
});
}
}
);
const directLinks: EpisodeLink[] = [];
$('.file-entry:not(:contains("Parent Directory"))').map((i, element) => {
const link = $(element).attr("href");
if (
link &&
($(element).text()?.includes(".mp4") ||
$(element).text()?.includes(".mkv"))
) {
directLinks.push({
title: i + 1 + ". " + $(element).text(),
link: baseUrl + link,
});
}
});
if (directLinks.length > 0) {
links.push({
title: title + " DL",
directLinks: directLinks,
});
}
return {
title: title,
synopsis: "",
image: "",
imdbId: "",
type: "movie",
linkList: links,
};
} catch (err) {
return {
title: "",
synopsis: "",
image: "",
imdbId: "",
type: "movie",
linkList: [],
};
}
};