diff options
Diffstat (limited to 'modules')
| -rw-r--r-- | modules/grils/gril.go | 10 | ||||
| -rw-r--r-- | modules/search/search.go | 25 |
2 files changed, 20 insertions, 15 deletions
diff --git a/modules/grils/gril.go b/modules/grils/gril.go index 89dd7c4..af84d04 100644 --- a/modules/grils/gril.go +++ b/modules/grils/gril.go | |||
| @@ -41,11 +41,11 @@ func (g *Gril) Slug() string { | |||
| 41 | strings.Replace(g.RomajiName, " ", "", -1)) | 41 | strings.Replace(g.RomajiName, " ", "", -1)) |
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | func (g *Gril) ImagePath(prioritizeThumbnail bool) string { | 44 | func ImagePath(id int, prioritizeThumbnail bool) string { |
| 45 | var big string | 45 | var big string |
| 46 | exts := []string{"png", "jpg", "gif", "jpeg"} | 46 | exts := []string{"png", "jpg", "gif", "jpeg"} |
| 47 | for _, ext := range exts { | 47 | for _, ext := range exts { |
| 48 | path := fmt.Sprintf("assets/img/gril/%d/0.%s", g.ID, ext) | 48 | path := fmt.Sprintf("assets/img/gril/%d/0.%s", id, ext) |
| 49 | if _, err := os.Stat(path); err == nil { | 49 | if _, err := os.Stat(path); err == nil { |
| 50 | if prioritizeThumbnail { | 50 | if prioritizeThumbnail { |
| 51 | big = path | 51 | big = path |
| @@ -56,7 +56,7 @@ func (g *Gril) ImagePath(prioritizeThumbnail bool) string { | |||
| 56 | } | 56 | } |
| 57 | 57 | ||
| 58 | for _, ext := range exts { | 58 | for _, ext := range exts { |
| 59 | path := fmt.Sprintf("assets/img/gril/%d/1.%s", g.ID, ext) | 59 | path := fmt.Sprintf("assets/img/gril/%d/1.%s", id, ext) |
| 60 | if _, err := os.Stat(path); err == nil { | 60 | if _, err := os.Stat(path); err == nil { |
| 61 | return path | 61 | return path |
| 62 | } | 62 | } |
| @@ -64,3 +64,7 @@ func (g *Gril) ImagePath(prioritizeThumbnail bool) string { | |||
| 64 | 64 | ||
| 65 | return big | 65 | return big |
| 66 | } | 66 | } |
| 67 | |||
| 68 | func (g *Gril) ImagePath(prioritizeThumbnail bool) string { | ||
| 69 | return ImagePath(g.ID, prioritizeThumbnail) | ||
| 70 | } | ||
diff --git a/modules/search/search.go b/modules/search/search.go index da6d126..a614c08 100644 --- a/modules/search/search.go +++ b/modules/search/search.go | |||
| @@ -16,6 +16,12 @@ type Module struct { | |||
| 16 | grils *grils.GrilsModule | 16 | grils *grils.GrilsModule |
| 17 | } | 17 | } |
| 18 | 18 | ||
| 19 | type GrilResult struct { | ||
| 20 | ID int | ||
| 21 | ImagePath string | ||
| 22 | Name string | ||
| 23 | } | ||
| 24 | |||
| 19 | func New() *Module { | 25 | func New() *Module { |
| 20 | return &Module{} | 26 | return &Module{} |
| 21 | } | 27 | } |
| @@ -50,7 +56,7 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt | |||
| 50 | return | 56 | return |
| 51 | } | 57 | } |
| 52 | 58 | ||
| 53 | rows, err := m.g.DB.Query(`SELECT id FROM grilist.search_grils($1)`, name) | 59 | rows, err := m.g.DB.Query(`SELECT id, name FROM grilist.search_grils($1)`, name) |
| 54 | if err != nil { | 60 | if err != nil { |
| 55 | log.Println("error in instant gril search:", err) | 61 | log.Println("error in instant gril search:", err) |
| 56 | return | 62 | return |
| @@ -58,24 +64,19 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt | |||
| 58 | 64 | ||
| 59 | defer rows.Close() | 65 | defer rows.Close() |
| 60 | 66 | ||
| 61 | var ids []int | 67 | var results []GrilResult |
| 62 | for rows.Next() { | 68 | for rows.Next() { |
| 63 | var id int | 69 | result := GrilResult{} |
| 64 | if err := rows.Scan(&id); err != nil { | 70 | if err := rows.Scan(&result.ID, &result.Name); err != nil { |
| 65 | log.Println("error scanning in instant gril search", err) | 71 | log.Println("error scanning in instant gril search", err) |
| 66 | continue | 72 | continue |
| 67 | } | 73 | } |
| 68 | 74 | ||
| 69 | ids = append(ids, id) | 75 | result.ImagePath = grils.ImagePath(result.ID, true) |
| 70 | } | 76 | results = append(results, result) |
| 71 | |||
| 72 | grils, err := m.grils.FromIDs(ids) | ||
| 73 | if err != nil { | ||
| 74 | log.Println("error acquiring instant grils:", err) | ||
| 75 | return | ||
| 76 | } | 77 | } |
| 77 | 78 | ||
| 78 | data := make(map[string]interface{}) | 79 | data := make(map[string]interface{}) |
| 79 | data["results"] = grils | 80 | data["results"] = results |
| 80 | m.g.Renderer.RenderPage("instant_search_results", w, data) | 81 | m.g.Renderer.RenderPage("instant_search_results", w, data) |
| 81 | } | 82 | } |
