UNPKG

@alline/scraper-tvdb

Version:

TVDB scraper for Alline.

76 lines (75 loc) 2.4 kB
import { EpisodeContext, EpisodeResult, EpisodeScraper } from "@alline/core"; import { AsyncSeriesWaterfallHook } from "tapable"; import { Moment } from "moment"; export interface TvdbEpisodeScraperOption { apiKey: string; userKey: string; userName: string; tvdbId: string; acceptLanguage: string; fields: ("title" | "aired" | "summary" | "thumbnails")[]; } interface TvdbQueryResponse { links: { first: number; last: number; next?: number; prev?: number; }; data: { id: number; airedSeason: number; airedSeasonID: number; airedEpisodeNumber: number; episodeName: string; firstAired: string; guestStars: string[]; directors: string[]; writers: string[]; overview: string; language: { episodeName: string; overview: string; }; productionCode: string; showUrl: string; lastUpdated: number; dvdDiscid: string; dvdSeason?: number; dvdEpisodeNumber?: number; dvdChapter?: number; absoluteNumber: number; filename: string; seriesId: number; lastUpdatedBy: number; airsAfterSeason?: number; airsBeforeSeason?: number; airsBeforeEpisode?: number; imdbId: string; contentRating: string; thumbAuthor: number; thumbAdded: string; thumbWidth: string; thumbHeight: string; siteRating: number; siteRatingCount: number; isMovie: number; }; } export interface TvdbEpisodeScraperHook { transformTitle: AsyncSeriesWaterfallHook<[string[], EpisodeContext]>; transformDate: AsyncSeriesWaterfallHook<[Moment, EpisodeContext]>; transformSummary: AsyncSeriesWaterfallHook<[string, EpisodeContext]>; transformThumbnails: AsyncSeriesWaterfallHook<[string[], EpisodeContext]>; } export declare class TvdbEpisodeScraper extends EpisodeScraper { tvdbHooks: TvdbEpisodeScraperHook; private axios; private initToken; private option; constructor(option: TvdbEpisodeScraperOption); protected onScrap(rlt: EpisodeResult, ctx: EpisodeContext): Promise<EpisodeResult>; protected fetchEpisode(ctx: EpisodeContext): Promise<TvdbQueryResponse>; protected initAuthToken(ctx: EpisodeContext): Promise<void>; } export {};