Skip to content

Commit

Permalink
Add --include and --exclude flags
Browse files Browse the repository at this point in the history
  • Loading branch information
Mikael Schultz committed Sep 6, 2023
1 parent 8219716 commit 2b9d7a7
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions cmd/lookup.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,30 @@ func lookupAction(out io.Writer, ouiCsvFile io.Reader, s string) error {
// Lookup the vendor in the OUI database
vendor := db.FindOuiByAssignment(assignment)

// Check if the --include flag is set
include := viper.GetString("lookup.include")
if include != "" && vendor != nil {
// If the --include flag is set, check if the vendor name
// contains the specified string (case insensitive)
if !vendor.Contains(include) {
// If the vendor name does not contain the specified string,
// skip to the next MAC address
continue
}
}

// Check if the --exclude flag is set
exclude := viper.GetString("lookup.exclude")
if exclude != "" && vendor != nil {
// If the --exclude flag is set, check if the vendor name
// contains the specified string (case insensitive)
if vendor.Contains(exclude) {
// If the vendor name contains the specified string,
// skip to the next MAC address
continue
}
}

if vendor != nil {
// Write in CSV format if the --csv flag is set
if viper.GetBool("lookup.csv") {
Expand Down Expand Up @@ -252,4 +276,12 @@ func init() {
// Set to the value of the --csv flag if set
lookupCmd.PersistentFlags().BoolP("csv", "c", false, "write output in CSV format")
viper.BindPFlag("lookup.csv", lookupCmd.PersistentFlags().Lookup("csv"))

// Set to the value of the --include flag if set
lookupCmd.Flags().StringP("include", "I", "", "output only results that include this string (case insensitive)")
viper.BindPFlag("lookup.include", lookupCmd.Flags().Lookup("include"))

// Set to the value of the --exclude flag if set
lookupCmd.Flags().StringP("exclude", "E", "", "filter out results that contain this string (case insensitive)")
viper.BindPFlag("lookup.exclude", lookupCmd.Flags().Lookup("exclude"))
}

0 comments on commit 2b9d7a7

Please sign in to comment.