package grils import ( "database/sql" "fmt" "github.com/lib/pq" "os" "time" ) type DataSource int const ( DataSourceACD DataSource = iota DataSourceAniDB ) type Gril struct { ID int KanjiName string RomajiName string OtherNames []string Age sql.NullInt64 Birthday pq.NullTime Tags []string ForeignIDs map[DataSource]int UpdatedAt time.Time Lists []int } func (g *Gril) ImagePath(prioritizeThumbnail bool) string { var big string exts := []string{"png", "jpg", "gif", "jpeg"} for _, ext := range exts { path := fmt.Sprintf("assets/img/gril/%d/0.%s", g.ID, ext) if _, err := os.Stat(path); err == nil { if prioritizeThumbnail { big = path } else { return path } } } for _, ext := range exts { path := fmt.Sprintf("assets/img/gril/%d/1.%s", g.ID, ext) if _, err := os.Stat(path); err == nil { return path } } return big }