wip pattern

main
bel 2024-04-14 15:40:49 -06:00
parent 60017a8d3a
commit 902ab96b2d
3 changed files with 6 additions and 3 deletions

View File

@ -27,6 +27,7 @@ type Config struct {
LocalTokenizer string LocalTokenizer string
AssetPattern string AssetPattern string
DatacenterPattern string DatacenterPattern string
EventNamePattern string
storage Storage storage Storage
queue Queue queue Queue
driver Driver driver Driver
@ -43,6 +44,7 @@ func newConfigFromEnv(ctx context.Context, getEnv func(string) string) (Config,
OllamaModel: "gemma:2b", OllamaModel: "gemma:2b",
AssetPattern: `(dpg|svc|red)-[a-z0-9-]*`, AssetPattern: `(dpg|svc|red)-[a-z0-9-]*`,
DatacenterPattern: `[a-z]{4}[a-z]*-[0-9]`, DatacenterPattern: `[a-z]{4}[a-z]*-[0-9]`,
EventNamePattern: `(^\[[^\]]*\] *)`,
} }
var m map[string]any var m map[string]any

View File

@ -107,9 +107,10 @@ type (
slackAction struct{} slackAction struct{}
) )
func ParseSlack(b []byte, assetPattern, datacenterPattern string) (Message, error) { func ParseSlack(b []byte, assetPattern, datacenterPattern, eventNamePattern string) (Message, error) {
asset := regexp.MustCompile(assetPattern) asset := regexp.MustCompile(assetPattern)
datacenter := regexp.MustCompile(datacenterPattern) datacenter := regexp.MustCompile(datacenterPattern)
eventName := regexp.MustCompile(eventNamePattern)
s, err := parseSlack(b) s, err := parseSlack(b)
if err != nil { if err != nil {
@ -134,7 +135,7 @@ func ParseSlack(b []byte, assetPattern, datacenterPattern string) (Message, erro
Source: fmt.Sprintf(`https://renderinc.slack.com/archives/%s/p%s`, s.Event.Channel, strings.ReplaceAll(s.Event.ID, ".", "")), Source: fmt.Sprintf(`https://renderinc.slack.com/archives/%s/p%s`, s.Event.Channel, strings.ReplaceAll(s.Event.ID, ".", "")),
Channel: s.Event.Channel, Channel: s.Event.Channel,
Thread: s.Event.ID, Thread: s.Event.ID,
EventName: strings.Split(s.Event.Attachments[0].Title, ": Firing: ")[1], EventName: eventNamePattern.FindString(strings.Split(s.Event.Attachments[0].Title, ": Firing: ")[1]),
Event: strings.TrimPrefix(strings.Split(s.Event.Attachments[0].Title, ":")[0], "#"), Event: strings.TrimPrefix(strings.Split(s.Event.Attachments[0].Title, ":")[0], "#"),
Plaintext: s.Event.Attachments[0].Text, Plaintext: s.Event.Attachments[0].Text,
Asset: asset.FindString(s.Event.Attachments[0].Text), Asset: asset.FindString(s.Event.Attachments[0].Text),

View File

@ -16,7 +16,7 @@ func TestReport(t *testing.T) {
w := bytes.NewBuffer(nil) w := bytes.NewBuffer(nil)
db := NewRAM() db := NewRAM()
FillWithTestdata(ctx, db, renderAssetPattern, renderDatacenterPattern) FillWithTestdata(ctx, db, renderAssetPattern, renderDatacenterPattern, renderEventNamePattern)
s := NewStorage(db) s := NewStorage(db)
if err := ReportSince(ctx, w, s, time.Now().Add(-1*time.Hour*24*365*20)); err != nil { if err := ReportSince(ctx, w, s, time.Now().Add(-1*time.Hour*24*365*20)); err != nil {