diff options
author | Joop Kiefte <ikojba@gmail.com> | 2021-06-07 20:36:42 +0100 |
---|---|---|
committer | Joop Kiefte <ikojba@gmail.com> | 2021-06-07 20:36:42 +0100 |
commit | 743eaa140e699ca2b84159f4d885533c32f3cd40 (patch) | |
tree | e71248a80c934ed1920ed68160c79e38a3700c40 | |
parent | 7a6efffc98fdda8e3b07829900b5b8926e791437 (diff) |
Fix empty prayers
-rw-r--r-- | go.mod | 2 | ||||
-rw-r--r-- | main.go | 21 |
2 files changed, 15 insertions, 8 deletions
@@ -1,3 +1,5 @@ module git.kiefte.eu/prayersopml go 1.16 + +require modernc.org/sqlite v1.10.8 @@ -5,6 +5,8 @@ import ( _ "modernc.org/sqlite" "text/template" + "os" + "strings" ) var opml = `<?xml version="1.0" encoding="utf-8"?> @@ -14,11 +16,10 @@ var opml = `<?xml version="1.0" encoding="utf-8"?> </head> <body> <outline text="Prayers"> -{{range .}} - <outline text="{{with .Phelps}}#{{.}}{{else}}Unmatched prayer{{.ID}}{{end}} #{{.Language}} #{{.Author}}"> - <outline text="{{.Text}}"/> +{{- range .}} + <outline text="{{if .Phelps}}#{{.Phelps}}{{else}}#unmatched {{.ID}}{{end}} #{{.Language}} #{{.Author}}" _note="{{.Text}}"> </outline> -{{end}} +{{- end}} </outline> </body> </opml>` @@ -33,11 +34,13 @@ type Prayer struct{ func main() { var prayers []Prayer - db := sql.Open("sqlite", "holywritings.db") - rows := db.Query("select id, phelps, author, language, text from writings;") + db, err := sql.Open("sqlite", "holywritings.db") + if err != nil { panic(err) } + rows, err := db.Query("select id, author, language, text, phelps from writings;") + if err != nil { panic(err) } for rows.Next() { var prayer Prayer - rows.Scan(&prayer.ID, &prayer.Phelps, &prayer.Author, &prayer.Language, &prayer.Text) + rows.Scan(&prayer.ID, &prayer.Author, &prayer.Language, &prayer.Text, &prayer.Phelps) switch prayer.Author { case "Báb": prayer.Author = "bab" @@ -47,9 +50,11 @@ func main() { prayer.Author = "bahaullah" } prayer.Text = template.HTMLEscapeString(prayer.Text) + prayer.Text = strings.ReplaceAll(prayer.Text, "\r", "") + prayer.Text = strings.ReplaceAll(prayer.Text, "\n", " ") + if prayer.Text == "" {println(prayer.ID)} prayers = append(prayers, prayer) } - tmpl, err := template.New("opml").Parse(opml) if err != nil { panic(err) } err = tmpl.Execute(os.Stdout, prayers) |