From a5f907854f29e1c267ad30d1dfe85c2c47f5ac48 Mon Sep 17 00:00:00 2001 From: sinner Date: Wed, 15 Apr 2026 15:16:02 -0400 Subject: feat: add stdin support and retry logic for all search commands --- cmd/bssid.go | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'cmd/bssid.go') diff --git a/cmd/bssid.go b/cmd/bssid.go index 0cf751f..116c63a 100644 --- a/cmd/bssid.go +++ b/cmd/bssid.go @@ -11,7 +11,7 @@ var bssidCmd = &cobra.Command{ Aliases: []string{"bs"}, Short: "Lookup WiFi access point location by BSSID", Long: `Lookup geographic location of a WiFi access point by its BSSID (MAC address) using Apple's location services`, - Args: cobra.ExactArgs(1), + Args: argsOrStdin(1), RunE: runBSSIDLookup, } @@ -28,17 +28,21 @@ func runBSSIDLookup(cmd *cobra.Command, args []string) error { return err } - params := &models.BSSIDParams{ - BSSID: args[0], - } - params.All, _ = cmd.Flags().GetBool("all") - params.Google, _ = cmd.Flags().GetBool("google") - params.OSM, _ = cmd.Flags().GetBool("osm") - - response, err := c.LookupBSSID(params) - if err != nil { - return err - } + all, _ := cmd.Flags().GetBool("all") + google, _ := cmd.Flags().GetBool("google") + osm, _ := cmd.Flags().GetBool("osm") - return formatter.FormatBSSIDResults(*response, IsJSONOutput()) + return forEachQuery(args, func(bssid string) error { + params := &models.BSSIDParams{ + BSSID: bssid, + All: all, + Google: google, + OSM: osm, + } + response, err := c.LookupBSSID(params) + if err != nil { + return err + } + return formatter.FormatBSSIDResults(*response, IsJSONOutput()) + }) } -- cgit v1.2.3