providers

package
v0.0.0-...-1d9471d Latest Latest
Warning

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

Go to latest
Published: Sep 28, 2021 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AmaraConfig

type AmaraConfig struct {
	Username string `envconfig:"AMARA_USERNAME"`
	Team     string `envconfig:"AMARA_TEAM"`
	Token    string `envconfig:"AMARA_TOKEN"`
}

AmaraConfig holds Amara related config

func LoadAmaraConfigFromEnv

func LoadAmaraConfigFromEnv() AmaraConfig

LoadAmaraConfigFromEnv loads Amara username, token and team from environment

type AmaraProvider

type AmaraProvider struct {
	*amara.Client
	// contains filtered or unexported fields
}

AmaraProvider amara client wrapper that implements the Provider interface

func (*AmaraProvider) CancelJob

func (c *AmaraProvider) CancelJob(job *database.Job) (bool, error)

CancelJob dummy method as amara cannot cancel jobs

func (*AmaraProvider) DispatchJob

func (c *AmaraProvider) DispatchJob(job *database.Job) error

DispatchJob creates a video and adds subtitle to it

func (*AmaraProvider) Download

func (c *AmaraProvider) Download(job *database.Job, captionFormat string) ([]byte, error)

Download download latest subtitle version from Amara

func (*AmaraProvider) GetName

func (c *AmaraProvider) GetName() string

GetName returns provider name

func (*AmaraProvider) GetProviderJob

func (c *AmaraProvider) GetProviderJob(job *database.Job) (*database.ProviderJob, error)

GetProviderJob returns current job status from Amara

type Provider

type Provider interface {
	DispatchJob(*database.Job) error
	Download(*database.Job, string) ([]byte, error)
	GetProviderJob(*database.Job) (*database.ProviderJob, error)
	GetName() string
	CancelJob(*database.Job) (bool, error)
}

Provider is the interface that transcription/captions providers must implement

func New3PlayProvider

func New3PlayProvider(cfg *ThreePlayConfig, svcCfg *config.CaptionsServiceConfig) Provider

New3PlayProvider creates a ThreePlayProvider instance

func NewAmaraProvider

func NewAmaraProvider(cfg *AmaraConfig, svcCfg *config.CaptionsServiceConfig) Provider

NewAmaraProvider creates an AmaraProvider

func NewUploadProvider

func NewUploadProvider(svcCfg *captionsConfig.CaptionsServiceConfig, db database.DB) Provider

NewUploadProvider initializes the GCP provider.

type ThreePlayConfig

type ThreePlayConfig struct {
	APIKeyByJobType map[string]string `envconfig:"THREE_PLAY_API_KEY"`
}

ThreePlayConfig holds config necessary to create a ThreePlayProvider

func Load3PlayConfigFromEnv

func Load3PlayConfigFromEnv() ThreePlayConfig

Load3PlayConfigFromEnv loads 3play API Key/Secret from environment

type ThreePlayProvider

type ThreePlayProvider struct {
	*threeplay.Client
	// contains filtered or unexported fields
}

ThreePlayProvider is a 3play client that implements the Provider interface

func (*ThreePlayProvider) CancelJob

func (c *ThreePlayProvider) CancelJob(job *database.Job) (bool, error)

CancelJob cancels a job if it is in a cancellable state

func (*ThreePlayProvider) DispatchJob

func (c *ThreePlayProvider) DispatchJob(job *database.Job) error

DispatchJob sends a video file to 3play for transcription and captions generation or generates a expiring editing link when the media_file_url param is provided

func (*ThreePlayProvider) Download

func (c *ThreePlayProvider) Download(job *database.Job, captionsType string) ([]byte, error)

Download downloads captions file from specified type

func (*ThreePlayProvider) GetName

func (c *ThreePlayProvider) GetName() string

GetName returns provider name

func (*ThreePlayProvider) GetProviderJob

func (c *ThreePlayProvider) GetProviderJob(job *database.Job) (*database.ProviderJob, error)

GetProviderJob returns a 3play file

type UploadProvider

type UploadProvider struct {
	DB database.DB
	// contains filtered or unexported fields
}

UploadProvider in a GCP client wrapper that implements the Provider interface

func (*UploadProvider) CancelJob

func (c *UploadProvider) CancelJob(job *database.Job) (bool, error)

func (*UploadProvider) DispatchJob

func (c *UploadProvider) DispatchJob(job *database.Job) error

DispatchJob sets the status of the upload job as delivered so that a call to check the job status uploads it to the cloud.

func (*UploadProvider) Download

func (c *UploadProvider) Download(job *database.Job, captionsType string) ([]byte, error)

Download returns the uploaded caption file

func (*UploadProvider) GetName

func (c *UploadProvider) GetName() string

GetName returns the name of the upload provider - GCP.

func (*UploadProvider) GetProviderJob

func (c *UploadProvider) GetProviderJob(job *database.Job) (*database.ProviderJob, error)

GetProviderJob returns the provider's job parameters.

Jump to

Keyboard shortcuts

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