Added first source and embed

This commit is contained in:
mrjvs
2023-08-27 20:36:38 +02:00
parent c55f830c30
commit ffe5e4bb4f
17 changed files with 451 additions and 598 deletions

19
src/utils/compare.ts Normal file
View File

@@ -0,0 +1,19 @@
import { CommonMedia } from '@/main/media';
export function normalizeTitle(title: string): string {
return title
.trim()
.toLowerCase()
.replace(/['":]/g, '')
.replace(/[^a-zA-Z0-9]+/g, '_');
}
export function compareTitle(a: string, b: string): boolean {
return normalizeTitle(a) === normalizeTitle(b);
}
export function compareMedia(media: CommonMedia, title: string, releaseYear?: number): boolean {
// if no year is provided, count as if its the correct year
const isSameYear = releaseYear === undefined ? true : media.releaseYear === releaseYear;
return compareTitle(media.title, title) && isSameYear;
}

View File

@@ -1,8 +1,8 @@
import { UseableFetcher } from '@/fetchers/types';
export type ScrapeContext = {
proxiedFetcher: UseableFetcher;
fetcher: UseableFetcher;
proxiedFetcher: <T>(...params: Parameters<UseableFetcher<T>>) => ReturnType<UseableFetcher<T>>;
fetcher: <T>(...params: Parameters<UseableFetcher<T>>) => ReturnType<UseableFetcher<T>>;
progress(val: number): void;
};