Spaces:
Paused
Paused
File size: 4,245 Bytes
762fa11 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 |
import { JackettCategory } from "ts-jackett-api/lib/types/JackettCategory.js";
import { searchEztv } from "./eztv.js";
import { ItorrentCategory, ItorrentQuality, searchItorrent, } from "./itorrent.js";
import { searchJackett } from "./jackett.js";
import { NcoreCategory, searchNcore } from "./ncore.js";
import { searchYts } from "./yts.js";
import { InsaneCategory, searchInsane } from "./insane.js";
export const searchTorrents = async (query, options) => {
const searchAllCategories = !options?.categories?.length;
const searchAllSources = !options?.sources?.length;
const promises = [];
if (options?.sources?.includes("jackett") || searchAllSources) {
const categories = new Set();
if (options?.categories?.includes("movie") || searchAllCategories) {
categories.add(JackettCategory.Movies);
}
if (options?.categories?.includes("show") || searchAllCategories) {
categories.add(JackettCategory.TV);
}
promises.push(searchJackett(query, Array.from(categories), options?.jackett?.url, options?.jackett?.apiKey));
}
if (options?.sources?.includes("ncore") || searchAllSources) {
const categories = new Set();
if (options?.categories?.includes("movie") || searchAllCategories) {
categories.add(NcoreCategory.Film_HD_HU);
categories.add(NcoreCategory.Film_HD_EN);
categories.add(NcoreCategory.Film_SD_HU);
categories.add(NcoreCategory.Film_SD_EN);
}
if (options?.categories?.includes("show") || searchAllCategories) {
categories.add(NcoreCategory.Sorozat_HD_HU);
categories.add(NcoreCategory.Sorozat_HD_EN);
categories.add(NcoreCategory.Sorozat_SD_HU);
categories.add(NcoreCategory.Sorozat_SD_EN);
}
promises.push(searchNcore(query, Array.from(categories), options?.ncore?.user, options?.ncore?.password));
}
if (options?.sources?.includes("insane") || searchAllSources) {
const categories = new Set();
if (options?.categories?.includes("movie") || searchAllCategories) {
categories.add(InsaneCategory.Film_Hun_SD);
categories.add(InsaneCategory.Film_Hun_HD);
categories.add(InsaneCategory.Film_Hun_UHD);
categories.add(InsaneCategory.Film_Eng_SD);
categories.add(InsaneCategory.Film_Eng_HD);
categories.add(InsaneCategory.Film_Eng_UHD);
}
if (options?.categories?.includes("show") || searchAllCategories) {
categories.add(InsaneCategory.Sorozat_Hun);
categories.add(InsaneCategory.Sorozat_Hun_HD);
categories.add(InsaneCategory.Sorozat_Hun_UHD);
categories.add(InsaneCategory.Sorozat_Eng);
categories.add(InsaneCategory.Sorozat_Eng_HD);
categories.add(InsaneCategory.Sorozat_Eng_UHD);
}
promises.push(searchInsane(query, Array.from(categories), options?.insane?.user, options?.insane?.password));
}
if (options?.sources?.includes("itorrent") || searchAllSources) {
const categories = new Set();
if (options?.categories?.includes("movie") || searchAllCategories) {
categories.add(ItorrentCategory.Film);
}
if (options?.categories?.includes("show") || searchAllCategories) {
categories.add(ItorrentCategory.Sorozat);
}
const qualities = [
ItorrentQuality.HD,
ItorrentQuality.SD,
ItorrentQuality.CAM,
];
promises.push(searchItorrent(query, Array.from(categories), qualities));
}
if (options?.sources?.includes("yts") || searchAllSources) {
if (options?.categories?.includes("movie") || searchAllCategories) {
promises.push(searchYts(query));
}
}
if (options?.sources?.includes("eztv") || searchAllSources) {
if (options?.categories?.includes("show") || searchAllCategories) {
promises.push(searchEztv(query));
}
}
const results = (await Promise.all(promises)).flat();
console.log(`Search: got ${results.length} results for ${query}`);
return results;
};
//# sourceMappingURL=search.js.map |