mugen

package
v0.0.0-...-a02b3bd Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: AGPL-3.0 Imports: 10 Imported by: 0

Documentation

Overview

SPDX-License-Identifier: AGPL-3.0-or-later Copyright (C) 2024 Japan7

Index

Constants

This section is empty.

Variables

View Source
var MUGEN_MEDIA_SERVER = "https://kara.moe/downloads/"
View Source
var MUGEN_SERVER = "https://kara.moe/api/"

Functions

func Closer

func Closer(closer io.Closer)

Types

type Client

type Client interface {
	GetKara(ctx context.Context, kid uuid.UUID) (*Kara, error)
	DownloadMedia(ctx context.Context, mediafile string) (*http.Response, error)
	DownloadLyrics(ctx context.Context, karafile string) (*http.Response, error)
}
var MUGEN_CLIENT_INST Client = nil

func GetClient

func GetClient() Client

type ExternalDatabaseIDs

type ExternalDatabaseIDs struct {
	Anilist *int `json:"anilist"`
}

type Kara

type Kara struct {
	KID                  uuid.UUID         `json:"kid"`
	Titles               map[string]string `json:"titles"`
	TitleAliases         []string          `json:"titles_aliases"`
	TitleDefaultLanguage string            `json:"titles_default_language"`
	MediaFile            string            `json:"mediafile"`
	MediaSize            uint64            `json:"mediasize"`
	SubChecksum          string            `json:"subchecksum"`
	LyricsInfo           []KaraLyrics      `json:"lyrics_infos"`
	Duration             int               `json:"duration"`
	SongOrder            *uint             `json:"songorder"`
	CreatedAt            time.Time         `json:"created_at"`
	ModifiedAt           time.Time         `json:"modified_at"`
	Series               []MugenTag        `json:"series"`
	Singers              []MugenTag        `json:"singers"`
	SongTypes            []MugenTag        `json:"songtypes"`
	Creators             []MugenTag        `json:"creators"`
	Languages            []MugenTag        `json:"langs"`
	Authors              []MugenTag        `json:"authors"`
	Misc                 []MugenTag        `json:"misc"`
	SongWriters          []MugenTag        `json:"songwriters"`
	Families             []MugenTag        `json:"families"`
	Origins              []MugenTag        `json:"origins"`
	Genres               []MugenTag        `json:"genres"`
	Platforms            []MugenTag        `json:"platforms"`
	Versions             []MugenTag        `json:"versions"`
	Warnings             []MugenTag        `json:"warnings"`
	Collections          []MugenTag        `json:"Collections"`
	SingerGroups         []MugenTag        `json:"singergroups"`
	Franchises           []MugenTag        `json:"franchises"`
	Comment              string            `json:"comment"`
}

func (Kara) SubFilename

func (k Kara) SubFilename() string

type KaraLyrics

type KaraLyrics struct {
	Default  bool   `json:"default"`
	Version  string `json:"version"`
	Filename string `json:"filename"`
}

type MugenClient

type MugenClient struct {
	Server      string
	MediaServer string
	HTTPClient  *http.Client
}

func (MugenClient) DownloadLyrics

func (c MugenClient) DownloadLyrics(ctx context.Context, karafile string) (*http.Response, error)

func (MugenClient) DownloadMedia

func (c MugenClient) DownloadMedia(ctx context.Context, mediafile string) (*http.Response, error)

func (MugenClient) GetEndpoint

func (c MugenClient) GetEndpoint(path string) string

func (MugenClient) GetKara

func (c MugenClient) GetKara(ctx context.Context, kid uuid.UUID) (*Kara, error)

func (MugenClient) SendRequest

func (c MugenClient) SendRequest(ctx context.Context, method string, path string, bodyData any) (*http.Response, error)

type MugenTag

type MugenTag struct {
	TID                 uuid.UUID           `json:"tid"`
	Name                string              `json:"name"`
	Short               string              `json:"short"`
	I18n                map[string]string   `json:"i18n"`
	Aliases             []string            `json:"aliases"`
	ExternalDatabaseIDs ExternalDatabaseIDs `json:"external_database_ids"`
}

Jump to

Keyboard shortcuts

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