common

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Apr 2, 2025 License: MIT Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var LanguageNameMap = map[LanguageID]string{
	LangAN:   "Aragonese",
	LangAR:   "Arabic",
	LangAT:   "Asturian",
	LangBG:   "Bulgarian",
	LangBR:   "Breton",
	LangCA:   "Catalan",
	LangCS:   "Czech",
	LangDA:   "Danish",
	LangDE:   "German",
	LangEL:   "Greek",
	LangEN:   "English",
	LangEO:   "Esperanto",
	LangES:   "Spanish",
	LangET:   "Estonian",
	LangEU:   "Basque",
	LangFA:   "Persian",
	LangFI:   "Finnish",
	LangFR:   "French",
	LangGL:   "Galician",
	LangHE:   "Hebrew",
	LangHI:   "Hindi",
	LangHR:   "Croatian",
	LangHU:   "Hungarian",
	LangHY:   "Armenian",
	LangID:   "Indonesian",
	LangIS:   "Icelandic",
	LangIT:   "Italian",
	LangJA:   "Japanese",
	LangKA:   "Georgian",
	LangKM:   "Khmer",
	LangKO:   "Korean",
	LangMK:   "Macedonian",
	LangMS:   "Malay",
	LangNL:   "Dutch",
	LangNO:   "Norwegian",
	LangOC:   "Occitan",
	LangPTBR: "Brazilian Portuguese",
	LangPL:   "Polish",
	LangPT:   "Portuguese",
	LangRO:   "Romanian",
	LangRU:   "Russian",
	LangSI:   "Sinhala",
	LangSK:   "Slovak",
	LangSL:   "Slovenian",
	LangSQ:   "Albanian",
	LangSR:   "Serbian",
	LangSV:   "Swedish",
	LangTH:   "Thai",
	LangTL:   "Tagalog",
	LangTR:   "Turkish",
	LangTT:   "Tatar",
	LangUK:   "Ukrainian",
	LangUZ:   "Uzbek",
	LangVI:   "Vietnamese",
	LangZH:   "Chinese",
	LangZHTW: "Traditional Chinese",
}
View Source
var LanguageNamePairs = []LanguageNamePairType{
	{LangAN, "Aragonese"},
	{LangAR, "Arabic"},
	{LangAT, "Asturian"},
	{LangBG, "Bulgarian"},
	{LangBR, "Breton"},
	{LangCA, "Catalan"},
	{LangCS, "Czech"},
	{LangDA, "Danish"},
	{LangDE, "German"},
	{LangEL, "Greek"},
	{LangEN, "English"},
	{LangEO, "Esperanto"},
	{LangES, "Spanish"},
	{LangET, "Estonian"},
	{LangEU, "Basque"},
	{LangFA, "Persian"},
	{LangFI, "Finnish"},
	{LangFR, "French"},
	{LangGL, "Galician"},
	{LangHE, "Hebrew"},
	{LangHI, "Hindi"},
	{LangHR, "Croatian"},
	{LangHU, "Hungarian"},
	{LangHY, "Armenian"},
	{LangID, "Indonesian"},
	{LangIS, "Icelandic"},
	{LangIT, "Italian"},
	{LangJA, "Japanese"},
	{LangKA, "Georgian"},
	{LangKM, "Khmer"},
	{LangKO, "Korean"},
	{LangMK, "Macedonian"},
	{LangMS, "Malay"},
	{LangNL, "Dutch"},
	{LangNO, "Norwegian"},
	{LangOC, "Occitan"},
	{LangPTBR, "Brazilian Portuguese"},
	{LangPL, "Polish"},
	{LangPT, "Portuguese"},
	{LangRO, "Romanian"},
	{LangRU, "Russian"},
	{LangSI, "Sinhala"},
	{LangSK, "Slovak"},
	{LangSL, "Slovenian"},
	{LangSQ, "Albanian"},
	{LangSR, "Serbian"},
	{LangSV, "Swedish"},
	{LangTH, "Thai"},
	{LangTL, "Tagalog"},
	{LangTR, "Turkish"},
	{LangTT, "Tatar"},
	{LangUK, "Ukrainian"},
	{LangUZ, "Uzbek"},
	{LangVI, "Vietnamese"},
	{LangZH, "Chinese"},
	{LangZHTW, "Traditional Chinese"},
}

Functions

This section is empty.

Types

type DownloadOptions

type DownloadOptions struct {
	// Set this to "" to not sort the movie list
	MovieListQuery  string
	MovieListSorter fuzzy.Sorter[float32, string, string]

	// Set this to "" to not sort the subtitle list
	SubtitleListQuery  string
	SubtitleListSorter fuzzy.Sorter[float32, string, string]
}

type DownloadedSubtitle

type DownloadedSubtitle struct {
	Parent SubtitleListEntry

	// May contain 0, or 1 or more subtitles
	Subtitles []DownloadedSubtitleEntry
}

type DownloadedSubtitleEntry

type DownloadedSubtitleEntry struct {
	Subtitle []byte
	Filename string
}

type LanguageID

type LanguageID string
const (
	LangNone LanguageID = ""      // Indicates no language preference
	LangAN   LanguageID = "an"    // Aragonese
	LangAR   LanguageID = "ar"    // Arabic
	LangAT   LanguageID = "at"    // Asturian (non standard?)
	LangBG   LanguageID = "bg"    // Bulgarian
	LangBR   LanguageID = "br"    // Breton
	LangCA   LanguageID = "ca"    // Catalan
	LangCS   LanguageID = "cs"    // Czech
	LangDA   LanguageID = "da"    // Danish
	LangDE   LanguageID = "de"    // German
	LangEL   LanguageID = "el"    // Greek
	LangEN   LanguageID = "en"    // English
	LangEO   LanguageID = "eo"    // Esperanto
	LangES   LanguageID = "es"    // Spanish
	LangET   LanguageID = "et"    // Estonian
	LangEU   LanguageID = "eu"    // Basque
	LangFA   LanguageID = "fa"    // Persian
	LangFI   LanguageID = "fi"    // Finnish
	LangFR   LanguageID = "fr"    // French
	LangGL   LanguageID = "gl"    // Galician
	LangHE   LanguageID = "he"    // Hebrew
	LangHI   LanguageID = "hi"    // Hindi
	LangHR   LanguageID = "hr"    // Croatian
	LangHU   LanguageID = "hu"    // Hungarian
	LangHY   LanguageID = "hy"    // Armenian
	LangID   LanguageID = "id"    // Indonesian
	LangIS   LanguageID = "is"    // Icelandic
	LangIT   LanguageID = "it"    // Italian
	LangJA   LanguageID = "ja"    // Japanese
	LangKA   LanguageID = "ka"    // Georgian
	LangKM   LanguageID = "km"    // Khmer
	LangKO   LanguageID = "ko"    // Korean
	LangMK   LanguageID = "mk"    // Macedonian
	LangMS   LanguageID = "ms"    // Malay
	LangNL   LanguageID = "nl"    // Dutch
	LangNO   LanguageID = "no"    // Norwegian
	LangOC   LanguageID = "oc"    // Occitan
	LangPTBR LanguageID = "pt-br" // Portuguese, Brazilian
	LangPL   LanguageID = "pl"    // Polish
	LangPT   LanguageID = "pt"    // Portuguese
	LangRO   LanguageID = "ro"    // Romanian
	LangRU   LanguageID = "ru"    // Russian
	LangSI   LanguageID = "si"    // Sinhala
	LangSK   LanguageID = "sk"    // Slovak
	LangSL   LanguageID = "sl"    // Slovenian
	LangSQ   LanguageID = "sq"    // Albanian
	LangSR   LanguageID = "sr"    // Serbian
	LangSV   LanguageID = "sv"    // Swedish
	LangTH   LanguageID = "th"    // Thai
	LangTL   LanguageID = "tl"    // Tagalog
	LangTR   LanguageID = "tr"    // Turkish
	LangTT   LanguageID = "tt"    // Tatar
	LangUK   LanguageID = "uk"    // Ukrainian
	LangUZ   LanguageID = "uz"    // Uzbek
	LangVI   LanguageID = "vi"    // Vietnamese
	LangZH   LanguageID = "zh"    // Chinese
	LangZHTW LanguageID = "zh-tw" // Chinese Traditional
)

func FindLanguageCode

func FindLanguageCode(name string, sorter fuzzy.Sorter[float32, string, string]) LanguageID

type LanguageNamePairType

type LanguageNamePairType struct {
	ID   LanguageID
	Name string
}

type MovieListData

type MovieListData struct {
	// The title of the movie
	Title string

	// The Options when frtching the list of subtitles for this movie
	Options SearchOptions
}

type MovieListEntry

type MovieListEntry interface {
	Data() *MovieListData
	ToSubtitleLinks() ([]SubtitleListEntry, error)
}

type SearchOptions

type SearchOptions struct {
	Language LanguageID
	Sorter   fuzzy.Sorter[float32, string, string]
}

type SubtitleListData

type SubtitleListData struct {
	Parent MovieListEntry
	// Name of the subtitle file
	Filename string
	// Language of the subtitle file
	Language string
	// Setting this to "" will force refetching when calling DownloadLink()
	Target string
}

type SubtitleListEntry

type SubtitleListEntry interface {
	Data() *SubtitleListData
	// Weather the downloaded file is a zip file or not
	IsZip() bool
	// Returns the Download link from where we can fetch the subtitle file
	DownloadLink() (string, error)
}

Jump to

Keyboard shortcuts

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