Explorar o código

Explain successful parsers only (#2063)

* Add option to filter down explain to successful parsers useful for me who has every collection installed

* Altered naming conventions so it makes more sense when reading
Laurence Jones %!s(int64=2) %!d(string=hai) anos
pai
achega
75d8b821ff
Modificáronse 2 ficheiros con 11 adicións e 3 borrados
  1. 7 0
      cmd/crowdsec-cli/explain.go
  2. 4 3
      pkg/hubtest/parser_assert.go

+ 7 - 0
cmd/crowdsec-cli/explain.go

@@ -50,6 +50,12 @@ func runExplain(cmd *cobra.Command, args []string) error {
 		return err
 		return err
 	}
 	}
 
 
+	opts.ShowNotOkParsers, err = flags.GetBool("only-successful-parsers")
+	opts.ShowNotOkParsers = !opts.ShowNotOkParsers
+	if err != nil {
+		return err
+	}
+
 	crowdsec, err := flags.GetString("crowdsec")
 	crowdsec, err := flags.GetString("crowdsec")
 	if err != nil {
 	if err != nil {
 		return err
 		return err
@@ -182,6 +188,7 @@ tail -n 5 myfile.log | cscli explain --type nginx -f -
 	flags.StringP("type", "t", "", "Type of the acquisition to test")
 	flags.StringP("type", "t", "", "Type of the acquisition to test")
 	flags.BoolP("verbose", "v", false, "Display individual changes")
 	flags.BoolP("verbose", "v", false, "Display individual changes")
 	flags.Bool("failures", false, "Only show failed lines")
 	flags.Bool("failures", false, "Only show failed lines")
+	flags.Bool("only-successful-parsers", false, "Only show successful parsers")
 	flags.String("crowdsec", "crowdsec", "Path to crowdsec")
 	flags.String("crowdsec", "crowdsec", "Path to crowdsec")
 
 
 	return cmdExplain
 	return cmdExplain

+ 4 - 3
pkg/hubtest/parser_assert.go

@@ -299,8 +299,9 @@ func LoadParserDump(filepath string) (*ParserResults, error) {
 }
 }
 
 
 type DumpOpts struct {
 type DumpOpts struct {
-	Details bool
-	SkipOk  bool
+	Details          bool
+	SkipOk           bool
+	ShowNotOkParsers bool
 }
 }
 
 
 func DumpTree(parser_results ParserResults, bucket_pour BucketPourInfo, opts DumpOpts) {
 func DumpTree(parser_results ParserResults, bucket_pour BucketPourInfo, opts DumpOpts) {
@@ -445,7 +446,7 @@ func DumpTree(parser_results ParserResults, bucket_pour BucketPourInfo, opts Dum
 					if opts.Details {
 					if opts.Details {
 						fmt.Print(detailsDisplay)
 						fmt.Print(detailsDisplay)
 					}
 					}
-				} else {
+				} else if opts.ShowNotOkParsers {
 					fmt.Printf("\t%s\t%s %s %s\n", presep, sep, emoji.RedCircle, parser)
 					fmt.Printf("\t%s\t%s %s %s\n", presep, sep, emoji.RedCircle, parser)
 
 
 				}
 				}