From bcab80f3e81b3aea7b1a6e84b39838bd19402975 Mon Sep 17 00:00:00 2001 From: jan Date: Wed, 30 Dec 2015 16:10:35 +0100 Subject: nur noch eine datenbankabfrage. results sehen jetzt ziemlich leer aus, muss bestimmt mal neu gestaltet werden. 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 { strings.Replace(g.RomajiName, " ", "", -1)) } -func (g *Gril) ImagePath(prioritizeThumbnail bool) string { +func ImagePath(id int, 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) + path := fmt.Sprintf("assets/img/gril/%d/0.%s", id, ext) if _, err := os.Stat(path); err == nil { if prioritizeThumbnail { big = path @@ -56,7 +56,7 @@ func (g *Gril) ImagePath(prioritizeThumbnail bool) string { } for _, ext := range exts { - path := fmt.Sprintf("assets/img/gril/%d/1.%s", g.ID, ext) + path := fmt.Sprintf("assets/img/gril/%d/1.%s", id, ext) if _, err := os.Stat(path); err == nil { return path } @@ -64,3 +64,7 @@ func (g *Gril) ImagePath(prioritizeThumbnail bool) string { return big } + +func (g *Gril) ImagePath(prioritizeThumbnail bool) string { + return ImagePath(g.ID, prioritizeThumbnail) +} 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 { grils *grils.GrilsModule } +type GrilResult struct { + ID int + ImagePath string + Name string +} + func New() *Module { return &Module{} } @@ -50,7 +56,7 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt return } - rows, err := m.g.DB.Query(`SELECT id FROM grilist.search_grils($1)`, name) + rows, err := m.g.DB.Query(`SELECT id, name FROM grilist.search_grils($1)`, name) if err != nil { log.Println("error in instant gril search:", err) return @@ -58,24 +64,19 @@ func (m *Module) instantSearchGril(w http.ResponseWriter, r *http.Request, p htt defer rows.Close() - var ids []int + var results []GrilResult for rows.Next() { - var id int - if err := rows.Scan(&id); err != nil { + result := GrilResult{} + if err := rows.Scan(&result.ID, &result.Name); err != nil { log.Println("error scanning in instant gril search", err) continue } - ids = append(ids, id) - } - - grils, err := m.grils.FromIDs(ids) - if err != nil { - log.Println("error acquiring instant grils:", err) - return + result.ImagePath = grils.ImagePath(result.ID, true) + results = append(results, result) } data := make(map[string]interface{}) - data["results"] = grils + data["results"] = results m.g.Renderer.RenderPage("instant_search_results", w, data) } diff --git a/views/instant_search_results.html b/views/instant_search_results.html index a365b06..73eda26 100644 --- a/views/instant_search_results.html +++ b/views/instant_search_results.html @@ -1,9 +1,8 @@ {{ define "instant_search_results" }} {{ range .results }}
  • - - {{ .RomajiName }} -

    {{ .KanjiName }}

    + + {{ .Name }}
  • {{ end }} {{ end }} \ No newline at end of file -- cgit v0.10.1