aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/app/message/utils.go')
-rw-r--r--pkg/app/message/utils.go53
1 files changed, 32 insertions, 21 deletions
diff --git a/pkg/app/message/utils.go b/pkg/app/message/utils.go
index 0cb40f5..f79e6f3 100644
--- a/pkg/app/message/utils.go
+++ b/pkg/app/message/utils.go
@@ -35,29 +35,40 @@ func renderMessageTemplate(w http.ResponseWriter, listName string, message *mode
func getFuncMap() template.FuncMap {
return template.FuncMap{
- "formatAddr": func(addr string) string {
- if strings.Contains(addr, "@lists.gentoo.org") || strings.Contains(addr, "@gentoo.org") {
- addr = strings.ReplaceAll(addr, "@lists.gentoo.org", "@l.g.o")
- addr = strings.ReplaceAll(addr, "@gentoo.org", "@g.o")
- } else {
- start := false
- for i := len(addr) - 1; i > 0; i-- {
- if addr[i] == '@' {
- break
- }
- if start {
- out := []rune(addr)
- out[i] = '×'
- addr = string(out)
- }
- if addr[i] == '.' {
- start = true
- }
- }
+ "formatAddr": formatAddr,
+ "formatAddrList": formatAddrList,
+ }
+}
+
+func formatAddr(addr string) string {
+ if strings.Contains(addr, "@lists.gentoo.org") || strings.Contains(addr, "@gentoo.org") {
+ addr = strings.ReplaceAll(addr, "@lists.gentoo.org", "@l.g.o")
+ addr = strings.ReplaceAll(addr, "@gentoo.org", "@g.o")
+ } else {
+ start := false
+ for i := len(addr) - 1; i > 0; i-- {
+ if addr[i] == '@' {
+ break
+ }
+ if start {
+ out := []rune(addr)
+ out[i] = '×'
+ addr = string(out)
}
- return addr
- },
+ if addr[i] == '.' {
+ start = true
+ }
+ }
+ }
+ return addr
+}
+
+func formatAddrList(addrList []string) string {
+ var formatedAddrList []string
+ for _, addr := range addrList {
+ formatedAddrList = append(formatedAddrList, formatAddr(addr))
}
+ return strings.Join(formatedAddrList, ", ")
}
func replaceAtIndex(in string, r rune, i int) string {