summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoop Kiefte <ikojba@gmail.com>2021-06-07 22:03:08 +0100
committerJoop Kiefte <ikojba@gmail.com>2021-06-07 22:03:08 +0100
commit66423f5dfd08e517481e8f493470e82f8531bfb5 (patch)
tree926d1dda81f5aa44434a7eebd79cf86e0bd5e016
parent743eaa140e699ca2b84159f4d885533c32f3cd40 (diff)
Remove XML invalid characters from sourceHEADmain
-rw-r--r--main.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/main.go b/main.go
index 623f4cf..e511840 100644
--- a/main.go
+++ b/main.go
@@ -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", "&#10;")
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) }