arimelody.me/global/data.go

79 lines
1.4 KiB
Go

package global
import (
"fmt"
"os"
"strings"
"arimelody.me/arimelody.me/music/model"
"github.com/jmoiron/sqlx"
)
var Args = func() map[string]string {
args := map[string]string{}
index := 0
for index < len(os.Args[1:]) {
arg := os.Args[index + 1]
if !strings.HasPrefix(arg, "-") {
fmt.Printf("FATAL: Parameters must follow an argument (%s).\n", arg)
os.Exit(1)
}
if index + 3 > len(os.Args) || strings.HasPrefix(os.Args[index + 2], "-") {
args[arg[1:]] = "true"
index += 1
continue
}
val := os.Args[index + 2]
args[arg[1:]] = val
// fmt.Printf("%s: %s\n", arg[1:], val)
index += 2
}
return args
}()
var HTTP_DOMAIN = func() string {
envvar := os.Getenv("HTTP_DOMAIN")
if envvar != "" {
return envvar
}
return "https://arimelody.me"
}()
var DB *sqlx.DB
var Releases []*model.Release
var Artists []*model.Artist
var Tracks []*model.Track
func GetRelease(id string) *model.Release {
for _, release := range Releases {
if release.ID == id {
return release
}
}
return nil
}
func GetArtist(id string) *model.Artist {
for _, artist := range Artists {
if artist.ID == id {
return artist
}
}
return nil
}
func GetTrack(id string) *model.Track {
for _, track := range Tracks {
if track.ID == id {
return track
}
}
return nil
}