Use interface to allow for more complex transliteration implementations

This commit is contained in:
2021-10-04 17:45:26 -07:00
parent 9df6531023
commit 73f16fcfef
3 changed files with 69 additions and 44 deletions

View File

@@ -171,10 +171,11 @@ func handleConnection(conn net.Conn, dev *infinitime.Device) {
break
}
maps := viper.GetStringSlice("notifs.translit.maps.use")
translit.Maps["custom"] = viper.GetStringSlice("notifs.translit.maps.custom")
replacer := translit.NewReplacer(maps...)
translit.Maps["custom"] = translit.Map(viper.GetStringSlice("notifs.translit.maps.custom"))
title := translit.Transliterate(reqData.Title, maps...)
body := translit.Transliterate(reqData.Body, maps...)
// Send notification to watch
err = dev.Notify(replacer.Replace(reqData.Title), replacer.Replace(reqData.Body))
err = dev.Notify(title, body)
if err != nil {
connErr(conn, err, "Error sending notification")
break