This commit is contained in:
Jorrin 2023-12-18 21:24:00 +01:00
commit 80f3f84b3d
1 changed files with 12 additions and 2 deletions

View File

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