quintodrome/models/artist.go

39 lines
672 B
Go
Raw Normal View History

package models
2016-02-26 23:35:01 -09:00
import (
"strings"
"github.com/astaxie/beego"
)
type Artist struct {
2016-02-28 09:50:05 -09:00
Id string
Name string
Albums map[string]bool
2016-02-26 23:35:01 -09:00
}
func NoArticle(name string) string {
articles := strings.Split(beego.AppConfig.String("ignoredArticles"), " ")
for _, a := range articles {
n := strings.TrimPrefix(name, a + " ")
if (n != name) {
return n
}
}
return name
2016-02-28 09:50:05 -09:00
}
func (a *Artist) AddAlbums(albums ...interface{}) {
if a.Albums == nil {
a.Albums = make(map[string]bool)
}
for _, v := range albums {
switch v := v.(type) {
case *Album:
a.Albums[v.Id] = true
case map[string]bool:
for k, _ := range v {
a.Albums[k] = true
}
}
}
}