providers

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 10, 2025 License: GPL-3.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClearAllProviderMappings

func ClearAllProviderMappings() error

ClearAllProviderMappings clears all provider mappings

func ClearProviderMapping

func ClearProviderMapping(provider string, mediaID int) error

ClearProviderMapping clears a specific provider mapping

func SaveProviderMapping

func SaveProviderMapping(provider string, mediaID int, providerID string, title string) error

SaveProviderMapping saves a provider mapping to cache

Types

type AllAnimeProvider

type AllAnimeProvider struct {
	// contains filtered or unexported fields
}

AllAnimeProvider implements the allanime provider

func NewAllAnimeProvider

func NewAllAnimeProvider() *AllAnimeProvider

NewAllAnimeProvider creates a new AllAnime provider

func (*AllAnimeProvider) GetEpisodeInfo

func (p *AllAnimeProvider) GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

GetEpisodeInfo searches for anime and returns episode info

func (p *AllAnimeProvider) GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

GetVideoLink extracts video links from allanime

func (*AllAnimeProvider) Name

func (p *AllAnimeProvider) Name() string

Name returns the provider name

type AniWatchProvider

type AniWatchProvider struct {
	// contains filtered or unexported fields
}

AniWatchProvider implements the aniwatch provider

func NewAniWatchProvider

func NewAniWatchProvider() *AniWatchProvider

NewAniWatchProvider creates a new AniWatch provider

func (*AniWatchProvider) GetEpisodeInfo

func (p *AniWatchProvider) GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

GetEpisodeInfo fetches episode information from aniwatch

func (p *AniWatchProvider) GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

GetVideoLink extracts video links from aniwatch

func (*AniWatchProvider) Name

func (p *AniWatchProvider) Name() string

Name returns the provider name

type AniWorldProvider

type AniWorldProvider struct {
	// contains filtered or unexported fields
}

AniWorldProvider implements the aniworld provider

func NewAniWorldProvider

func NewAniWorldProvider() *AniWorldProvider

NewAniWorldProvider creates a new AniWorld provider

func (*AniWorldProvider) GetEpisodeInfo

func (p *AniWorldProvider) GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

GetEpisodeInfo fetches episode information from aniworld

func (p *AniWorldProvider) GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

GetVideoLink extracts video links from aniworld

func (*AniWorldProvider) Name

func (p *AniWorldProvider) Name() string

Name returns the provider name

type EpisodeInfo

type EpisodeInfo struct {
	EpisodeID    string
	EpisodeTitle string
	MediaType    string // For hdrezka
	ShowID       string // For allanime
}

EpisodeInfo contains information about an episode

type HDRezkaProvider

type HDRezkaProvider struct {
	// contains filtered or unexported fields
}

HDRezkaProvider implements the hdrezka provider

func NewHDRezkaProvider

func NewHDRezkaProvider() *HDRezkaProvider

NewHDRezkaProvider creates a new HDRezka provider

func (*HDRezkaProvider) GetEpisodeInfo

func (p *HDRezkaProvider) GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

GetEpisodeInfo fetches episode information from hdrezka

func (p *HDRezkaProvider) GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

GetVideoLink extracts video links from hdrezka

func (*HDRezkaProvider) Name

func (p *HDRezkaProvider) Name() string

Name returns the provider name

type Provider

type Provider interface {
	// GetEpisodeInfo fetches episode information
	GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

	// GetVideoLink extracts the video URL and subtitles
	GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

	// Name returns the provider name
	Name() string
}

Provider defines the interface for anime providers

func GetProvider

func GetProvider(name string) (Provider, error)

GetProvider returns a provider by name

type ProviderCacheEntry

type ProviderCacheEntry struct {
	ProviderID string
	Title      string
	LastUsed   time.Time
}

ProviderCacheEntry represents a cached provider mapping

func LoadProviderMapping

func LoadProviderMapping(provider string, mediaID int) (*ProviderCacheEntry, error)

LoadProviderMapping loads a cached provider mapping

type VideoData

type VideoData struct {
	VideoURL     string
	SubtitleURLs []string
	Referer      string
}

VideoData contains video and subtitle information

type YugenProvider

type YugenProvider struct {
	// contains filtered or unexported fields
}

YugenProvider implements the yugen provider

func NewYugenProvider

func NewYugenProvider() *YugenProvider

NewYugenProvider creates a new Yugen provider

func (*YugenProvider) GetEpisodeInfo

func (p *YugenProvider) GetEpisodeInfo(ctx context.Context, mediaID int, episodeNum int, title string) (*EpisodeInfo, error)

GetEpisodeInfo fetches episode information from yugen

func (p *YugenProvider) GetVideoLink(ctx context.Context, episodeInfo *EpisodeInfo, quality string, subOrDub string) (*VideoData, error)

GetVideoLink extracts video links from yugen

func (*YugenProvider) Name

func (p *YugenProvider) Name() string

Name returns the provider name

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL