Update search.ts

This commit is contained in:
erynith
2023-12-16 16:30:11 -05:00
committed by GitHub
parent 0dc7baeca7
commit 2a43934788

View File

@@ -2,7 +2,7 @@ import { load } from 'cheerio';
import { MovieMedia, ShowMedia } from '@/main/media'; import { MovieMedia, ShowMedia } from '@/main/media';
import { flixHqBase } from '@/providers/sources/flixhq/common'; import { flixHqBase } from '@/providers/sources/flixhq/common';
import { compareMedia } from '@/utils/compare'; import { compareMedia, compareTitle } from '@/utils/compare';
import { ScrapeContext } from '@/utils/context'; import { ScrapeContext } from '@/utils/context';
export async function getFlixhqId(ctx: ScrapeContext, media: MovieMedia | ShowMedia): Promise<string | null> { export async function getFlixhqId(ctx: ScrapeContext, media: MovieMedia | ShowMedia): Promise<string | null> {
@@ -18,16 +18,18 @@ export async function getFlixhqId(ctx: ScrapeContext, media: MovieMedia | ShowMe
const id = query.find('div.film-poster > a').attr('href')?.slice(1); const id = query.find('div.film-poster > a').attr('href')?.slice(1);
const title = query.find('div.film-detail > h2 > a').attr('title'); const title = query.find('div.film-detail > h2 > a').attr('title');
const year = query.find('div.film-detail > div.fd-infor > span:nth-child(1)').text(); const year = query.find('div.film-detail > div.fd-infor > span:nth-child(1)').text();
const seasons = year.includes('SS') ? parseInt(year.split('SS')[1]) : 0;
if (!id || !title || !year) return null; if (!id || !title || !year) return null;
return { return {
id, id,
title, title,
year: parseInt(year, 10), year: parseInt(year, 10),
seasons,
}; };
}); });
const matchingItem = items.find((v) => v && compareMedia(media, v.title, v.year)); const matchingItem = items.find((v) => v && (media.type === 'movie' ? compareMedia(media, v.title, v.year) : compareTitle(media.title, v.title) && media.season.number === v.seasons || media.season.number < v.seasons || media.season.number < v.seasons + 1));
if (!matchingItem) return null; if (!matchingItem) return null;
return matchingItem.id; return matchingItem.id;