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/username.go | 45 +++++++++++++++++++++------------------------ 1 file changed, 21 insertions(+), 24 deletions(-) (limited to 'cmd/username.go') diff --git a/cmd/username.go b/cmd/username.go index ed51d2e..60da503 100644 --- a/cmd/username.go +++ b/cmd/username.go @@ -14,7 +14,7 @@ var usernameCmd = &cobra.Command{ Aliases: []string{"un"}, Short: "Check username availability across websites", Long: `Check username availability across hundreds of websites using WhatsMyName dataset`, - Args: cobra.ExactArgs(1), + Args: argsOrStdin(1), RunE: runUsernameCheck, } @@ -31,30 +31,27 @@ func runUsernameCheck(cmd *cobra.Command, args []string) error { return err } - params := &models.USRSXParams{ - Username: args[0], - } - params.Sites, _ = cmd.Flags().GetStringSlice("sites") - params.Fuzzy, _ = cmd.Flags().GetBool("fuzzy") - params.MaxTasks, _ = cmd.Flags().GetInt("max_tasks") - - err = c.CheckUsernameStream(params, func(result json.RawMessage) error { - if IsJSONOutput() { - fmt.Println(string(result)) - return nil - } + sites, _ := cmd.Flags().GetStringSlice("sites") + fuzzy, _ := cmd.Flags().GetBool("fuzzy") + maxTasks, _ := cmd.Flags().GetInt("max_tasks") - var siteResult models.SiteResult - if err := json.Unmarshal(result, &siteResult); err != nil { - return err + return forEachQuery(args, func(username string) error { + params := &models.USRSXParams{ + Username: username, + Sites: sites, + Fuzzy: fuzzy, + MaxTasks: maxTasks, } - - return formatter.FormatUsernameSiteResult(&siteResult) + return c.CheckUsernameStream(params, func(result json.RawMessage) error { + if IsJSONOutput() { + fmt.Println(string(result)) + return nil + } + var siteResult models.SiteResult + if err := json.Unmarshal(result, &siteResult); err != nil { + return err + } + return formatter.FormatUsernameSiteResult(&siteResult) + }) }) - - if err != nil { - return err - } - - return nil } -- cgit v1.2.3