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 { domain := Args["httpDomain"] if domain != "" { return domain } 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 }