wip pattern
parent
60017a8d3a
commit
902ab96b2d
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -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),
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue