One new great parser, deprecated all other parsers (gitlab, gitea).

This commit is contained in:
2019-03-05 19:31:13 +05:00
parent b13cf6ecec
commit c93fa504ad
11 changed files with 50 additions and 863 deletions

View File

@@ -18,6 +18,9 @@
package defaultparser
import (
// stdlib
"regexp"
// local
"gitlab.com/pztrn/opensaps/slack/message"
)
@@ -28,10 +31,26 @@ func (dp DefaultParser) Initialize() {
c.Log.Infoln("Initializing default parser...")
}
func (dp DefaultParser) ParseMessage(message slackmessage.SlackMessage) map[string]string {
func (dp DefaultParser) ParseMessage(message slackmessage.SlackMessage) map[string]interface{} {
c.Log.Debugln("Parsing default message...")
data := make(map[string]string)
data["message"] = message.Text
msg := message.Text + "\n"
for _, attachment := range message.Attachments {
msg += attachment.Text + "\n"
}
// Get all links from message.
r := regexp.MustCompile("((https??://[a-zA-Z0-9.#!*/ _-]+)\\|([a-zA-Z0-9.#!*/ _+-]+))")
foundLinks := r.FindAllStringSubmatch(msg, -1)
// Replace them.
/*for _, link := range foundLinks {
c.Log.Debugln("Link:", link)
msg = strings.Replace(msg, "<"+link[0]+">", "<a href='"+link[2]+"'>"+link[3]+"</a>", 1)
}*/
data := make(map[string]interface{})
data["message"] = msg
data["links"] = foundLinks
return data
}