francetv

package
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: May 4, 2020 License: MIT Imports: 19 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProviderName = "francetv"
)

Provider constants

Variables

This section is empty.

Functions

func WithGetter

func WithGetter(g getter) func(ftv *FranceTV)

WithGetter inject a getter in FranceTV object instead of normal one

Types

type AlgoliaConfig added in v0.5.0

type AlgoliaConfig struct {
	AlgoliaAPIContentMaxPage            int    `json:"algolia_api_content_max_page"`
	AlgoliaAPIContentPaginitationLimit  int    `json:"algolia_api_content_paginitation_limit"`
	AlgoliaAPIIndexContent              string `json:"algolia_api_index_content"`
	AlgoliaAPIIndexTaxonomy             string `json:"algolia_api_index_taxonomy"`
	AlgoliaAPIKey                       string `json:"algolia_api_key"`
	AlgoliaAPITaxonomyPaginitationLimit int    `json:"algolia_api_taxonomy_paginitation_limit"`
	AlgoliaAppID                        string `json:"algolia_app_id"`
	BookmarkGetURL                      string `json:"bookmark_get_url"`
	BookmarkPostURL                     string `json:"bookmark_post_url"`
	Environment                         string `json:"environment"`
	GinLibURL                           string `json:"gin_lib_url"`
	GinPersonalDataLink                 string `json:"gin_personal_data_link"`
	RecoSystemAuthorization             string `json:"reco_system_authorization"`
	RecoSystemHost                      string `json:"reco_system_host"`
	TagManagementSystemsURL             string `json:"tag_management_systems_url"`
	WatchingGetURL                      string `json:"watching_get_url"`
	WatchingHitTimer                    int    `json:"watching_hit_timer"`
	WatchingMinTime                     int    `json:"watching_min_time"`
	WatchingPostURL                     string `json:"watching_post_url"`
}

AlgoliaConfig to be extracted from home page

type AlgoliaParam added in v0.5.0

type AlgoliaParam map[string]string

type FranceTV

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

FranceTV structure handles france-tv catalog of shows

func New

func New() (*FranceTV, error)

New setup a Show provider for France Télévisions

func (*FranceTV) Configure added in v0.8.0

func (p *FranceTV) Configure(c providers.Config)

func (*FranceTV) GetMediaDetails added in v0.7.0

func (p *FranceTV) GetMediaDetails(ctx context.Context, m *providers.Media) error

GetMediaDetails download more details when available especially the stream URL. The player webservice returns some metadata and an URL named Token. The must been acquired right before the actual download. It has a limited validity In the structure returned by token URL, another URL is provided. The request is then redirected to the actual video stream. This url has also a limited validity.

But for some reason FFMPEG doesn't follow the redirection. So, we have to get the final URL before calling FFMPEG // FranceTV provides a subtitle tracks that isn't decoded by FFMPEG. And FFMPEG doesn't get always the best video resolution

The video stream is in fact a MPD manifest files. We can edit this manifest for removing unwanted tracks.

func (*FranceTV) MediaList added in v0.7.0

func (p *FranceTV) MediaList(ctx context.Context, mm []*providers.MatchRequest) chan *providers.Media

MediaList return media that match with matching list.

func (FranceTV) Name

func (FranceTV) Name() string

Name return the name of the provider

type Requests added in v0.5.0

type Requests struct {
	IndexName string       `json:"indexName"`
	Params    AlgoliaParam `json:"params"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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