Documentation
¶
Index ¶
- func ApplyRequestScopedAudioPolicy(meta *api.PreparedMetadata, cfg config.Config, logger api.Logger)
- func ApplyTagOverrides(path, currentTag, tagsPath string) (string, *api.TagOverride, error)
- func BuildReleaseName(req api.ReleaseNameRequest, logger api.Logger) api.ReleaseNameResult
- func DetectTag(path string) string
- func ParseReleaseInfo(path string) api.ReleaseInfo
- func RebuildReleaseName(meta *api.PreparedMetadata, logger api.Logger)
- type ArrLookupClient
- type ArrLookupResult
- type IMDBClient
- type Option
- func WithBDInfoService(bi *bdinfo.Service) Option
- func WithBlurayClient(client *bluraycom.Client) Option
- func WithConfig(cfg config.Config) Option
- func WithIMDBClient(client IMDBClient) Option
- func WithLogger(logger api.Logger) Option
- func WithMediaInfoExporter(exporter mediainfo.Exporter) Option
- func WithRadarrClient(client ArrLookupClient) Option
- func WithSRRDBPaths(dbPath string) Option
- func WithSceneDetector(detector SceneDetector) Option
- func WithSonarrClient(client ArrLookupClient) Option
- func WithTMDBClient(client TMDBClient) Option
- func WithTVDBClient(client TVDBClient) Option
- func WithTVmazeClient(client TVmazeClient) Option
- func WithTagsPathFromDB(dbPath string) Option
- func WithTrackerDataLookup(lookup TrackerDataLookup) Option
- type SceneDetector
- type SceneResult
- type Service
- func (s *Service) ApplyArrData(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- func (s *Service) ApplyMediaDetails(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- func (s *Service) ApplyMediaInfoIDs(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- func (s *Service) EnrichTrackerData(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- func (s *Service) Prepare(ctx context.Context, req api.Request) (api.PreparedMetadata, error)
- func (s *Service) RefreshPreparedMetadata(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- func (s *Service) ResolveExternalIDs(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
- type TMDBClient
- type TVDBClient
- type TVmazeClient
- type TrackerDataLookup
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyTagOverrides ¶
func ApplyTagOverrides(path, currentTag, tagsPath string) (string, *api.TagOverride, error)
func BuildReleaseName ¶
func BuildReleaseName(req api.ReleaseNameRequest, logger api.Logger) api.ReleaseNameResult
func ParseReleaseInfo ¶
func ParseReleaseInfo(path string) api.ReleaseInfo
func RebuildReleaseName ¶
func RebuildReleaseName(meta *api.PreparedMetadata, logger api.Logger)
Types ¶
type ArrLookupClient ¶
type ArrLookupClient interface {
Lookup(ctx context.Context, meta api.PreparedMetadata) (ArrLookupResult, error)
}
type ArrLookupResult ¶
type IMDBClient ¶
type Option ¶
type Option func(*Service)
func WithBDInfoService ¶
func WithBlurayClient ¶
func WithConfig ¶
func WithIMDBClient ¶
func WithIMDBClient(client IMDBClient) Option
func WithLogger ¶
func WithMediaInfoExporter ¶
func WithRadarrClient ¶
func WithRadarrClient(client ArrLookupClient) Option
func WithSRRDBPaths ¶
func WithSceneDetector ¶
func WithSceneDetector(detector SceneDetector) Option
func WithSonarrClient ¶
func WithSonarrClient(client ArrLookupClient) Option
func WithTMDBClient ¶
func WithTMDBClient(client TMDBClient) Option
func WithTVDBClient ¶
func WithTVDBClient(client TVDBClient) Option
func WithTVmazeClient ¶
func WithTVmazeClient(client TVmazeClient) Option
func WithTagsPathFromDB ¶
func WithTrackerDataLookup ¶
func WithTrackerDataLookup(lookup TrackerDataLookup) Option
type SceneDetector ¶
type SceneDetector interface {
Detect(ctx context.Context, meta api.PreparedMetadata) (SceneResult, error)
}
SceneDetector resolves scene metadata from a prepared item.
type SceneResult ¶
type SceneResult struct {
IsScene bool
SceneName string
TMDBID int
IMDBID int
TVDBID int
TVmazeID int
MALID int
Service string
ServiceLongName string
NFOPath string
NFONew bool
}
SceneResult captures scene metadata from external sources.
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(repo db.MetadataRepository, opts ...Option) *Service
func (*Service) ApplyArrData ¶
func (s *Service) ApplyArrData(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
func (*Service) ApplyMediaDetails ¶
func (s *Service) ApplyMediaDetails(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
func (*Service) ApplyMediaInfoIDs ¶
func (s *Service) ApplyMediaInfoIDs(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
func (*Service) EnrichTrackerData ¶
func (s *Service) EnrichTrackerData(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
func (*Service) RefreshPreparedMetadata ¶
func (s *Service) RefreshPreparedMetadata(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
func (*Service) ResolveExternalIDs ¶
func (s *Service) ResolveExternalIDs(ctx context.Context, meta api.PreparedMetadata) (api.PreparedMetadata, error)
type TMDBClient ¶
type TMDBClient interface {
FindByExternalID(ctx context.Context, input tmdb.FindInput) (tmdb.FindResult, error)
SearchID(ctx context.Context, input tmdb.SearchInput) (tmdb.SearchOutcome, error)
FetchMetadata(ctx context.Context, input tmdb.MetadataInput) (tmdb.MetadataResult, error)
GetEpisodeDetails(ctx context.Context, tmdbID, season, episode int) (tmdb.EpisodeDetails, error)
GetSeasonDetails(ctx context.Context, tmdbID, season int) (tmdb.SeasonDetails, error)
DailyToSeasonEpisode(ctx context.Context, tmdbID int, date time.Time) (int, int, error)
}
type TVDBClient ¶
type TVDBClient interface {
GetByExternalID(ctx context.Context, imdbID, tmdbID string, tvMovie bool) (int, string, error)
GetSeriesMetadata(ctx context.Context, seriesID int) (tvdb.SeriesMetadata, error)
GetSeriesMetadataWithLanguage(ctx context.Context, seriesID int, language string) (tvdb.SeriesMetadata, error)
GetEpisodes(ctx context.Context, seriesID int, query tvdb.EpisodeQuery) (tvdb.EpisodesData, string, error)
GetEpisodesWithLanguage(ctx context.Context, seriesID int, query tvdb.EpisodeQuery, language string) (tvdb.EpisodesData, string, error)
GetEpisodeTranslation(ctx context.Context, episodeID int, language string) (tvdb.EpisodeTranslation, error)
}
type TVmazeClient ¶
type TVmazeClient interface {
Search(ctx context.Context, input tvmaze.SearchInput) (tvmaze.SearchResult, error)
GetEpisodeByNumber(ctx context.Context, tvmazeID, season, episode int, lookup tvmaze.EpisodeLookupContext) (*tvmaze.EpisodeData, error)
GetEpisodeByDate(ctx context.Context, tvmazeID int, airdate string) (*tvmaze.EpisodeData, error)
}
type TrackerDataLookup ¶
Source Files
¶
- arr.go
- bluray.go
- external_ids.go
- media_details.go
- mediainfo_ids.go
- mediainfo_languages.go
- mediainfo_parse.go
- naming.go
- overrides.go
- release.go
- release_overrides.go
- scene.go
- service.go
- service_map.go
- service_resolve.go
- source_lookup.go
- tags.go
- tracker_artifacts.go
- tracker_claims.go
- tracker_claims_btn.go
- tracker_data.go
- tracker_rules.go
Click to show internal directories.
Click to hide internal directories.