diff options
author | Joop Kiefte <ikojba@gmail.com> | 2021-06-07 22:03:08 +0100 |
---|---|---|
committer | Joop Kiefte <ikojba@gmail.com> | 2021-06-07 22:03:08 +0100 |
commit | 66423f5dfd08e517481e8f493470e82f8531bfb5 (patch) | |
tree | 926d1dda81f5aa44434a7eebd79cf86e0bd5e016 | |
parent | 743eaa140e699ca2b84159f4d885533c32f3cd40 (diff) |
-rw-r--r-- | main.go | 16 |
1 files changed, 11 insertions, 5 deletions
@@ -16,10 +16,14 @@ var opml = `<?xml version="1.0" encoding="utf-8"?> </head> <body> <outline text="Prayers"> -{{- range .}} - <outline text="{{if .Phelps}}#{{.Phelps}}{{else}}#unmatched {{.ID}}{{end}} #{{.Language}} #{{.Author}}" _note="{{.Text}}"> + {{- range $lang, $list := .}} + <outline text="Language #{{$lang}}"> + {{- range $list}} + <outline text="{{if .Phelps}}#{{.Phelps}}{{else}}#unmatched {{.ID}}{{end}} #{{.Language}} #{{.Author}}" _note="{{.Text}}"> + </outline> + {{- end}} </outline> -{{- end}} + {{- end}} </outline> </body> </opml>` @@ -33,7 +37,7 @@ type Prayer struct{ } func main() { - var prayers []Prayer + prayers := map[string][]Prayer{} db, err := sql.Open("sqlite", "holywritings.db") if err != nil { panic(err) } rows, err := db.Query("select id, author, language, text, phelps from writings;") @@ -51,9 +55,11 @@ func main() { } prayer.Text = template.HTMLEscapeString(prayer.Text) prayer.Text = strings.ReplaceAll(prayer.Text, "\r", "") + prayer.Text = strings.ReplaceAll(prayer.Text, "\x01", "") + prayer.Text = strings.ReplaceAll(prayer.Text, "\x0f", "") prayer.Text = strings.ReplaceAll(prayer.Text, "\n", " ") if prayer.Text == "" {println(prayer.ID)} - prayers = append(prayers, prayer) + prayers[prayer.Language] = append(prayers[prayer.Language], prayer) } tmpl, err := template.New("opml").Parse(opml) if err != nil { panic(err) } |