From 9991801e4037d8dc530876584f21c1674c9e3bba Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sat, 23 Sep 2023 10:06:39 +0300 Subject: init: will look at this later --- pkg/messages/types/svcPrint.go | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'pkg/messages/types/svcPrint.go') diff --git a/pkg/messages/types/svcPrint.go b/pkg/messages/types/svcPrint.go index 760a3c5..7b3b388 100644 --- a/pkg/messages/types/svcPrint.go +++ b/pkg/messages/types/svcPrint.go @@ -1,10 +1,13 @@ package messages import ( + "fmt" + "regexp" + "strconv" "strings" "github.com/pektezol/bitreader" - "github.com/pektezol/demoparser/pkg/writer" + "github.com/pektezol/demoparser/pkg/verification" ) type SvcPrint struct { @@ -16,6 +19,19 @@ func ParseSvcPrint(reader *bitreader.Reader) SvcPrint { Message: reader.TryReadString(), } // common psycopath behaviour - writer.TempAppendLine("\t\t%s", strings.Replace(strings.ReplaceAll(strings.ReplaceAll(svcPrint.Message, "\n", "\n\t\t"), "\n\t\t\n\t\t", ""), "\n\t\t", "", 1)) + print := fmt.Sprintf("\t\t%s\n", strings.Replace(strings.ReplaceAll(strings.ReplaceAll(svcPrint.Message, "\n", "\n\t\t"), "\n\t\t\n\t\t", ""), "\n\t\t", "", 1)) + // Define a regular expression pattern to match the "Server Number" line and capture the integer value. + pattern := `Server Number: (\d+)` + + // Compile the regular expression pattern. + re := regexp.MustCompile(pattern) + + // Find the match in the text. + match := re.FindStringSubmatch(print) + if len(match) >= 1 { + serverNumber := match[1] + n, _ := strconv.Atoi(serverNumber) + verification.ServerNumbers = append(verification.ServerNumbers, n) + } return svcPrint } -- cgit v1.2.3