account search: Add flag '--following'
authorMikael Berthe <mikael@lilotux.net>
Mon, 19 Mar 2018 14:48:36 +0100
changeset 184 a685b52c2ddf
parent 183 498d5d188119
child 185 564d92b54b00
account search: Add flag '--following'
cmd/accounts.go
--- a/cmd/accounts.go	Mon Mar 19 14:26:15 2018 +0100
+++ b/cmd/accounts.go	Mon Mar 19 14:48:36 2018 +0100
@@ -35,6 +35,7 @@
 	avatar, header        string // For account update
 	locked                bool   // For account update
 	muteNotifications     bool   // For account mute
+	following             bool   // For account search
 }
 
 var accountUpdateFlags, accountMuteFlags *flag.FlagSet
@@ -64,6 +65,7 @@
 	accountFollowRequestsSubcommand.Flags().BoolVar(&accountsOpts.rejectFR, "reject", false, "Reject the follow request from the account ID")
 
 	accountBlockSubcommand.Flags().BoolVarP(&accountsOpts.unset, "unset", "", false, "Unblock the account")
+
 	accountMuteSubcommand.Flags().BoolVarP(&accountsOpts.unset, "unset", "", false, "Unmute the account")
 	accountMuteSubcommand.Flags().BoolVarP(&accountsOpts.muteNotifications, "notifications", "", true, "Mute the notifications")
 	accountFollowSubcommand.Flags().BoolVarP(&accountsOpts.unset, "unset", "", false, "Unfollow the account")
@@ -75,6 +77,8 @@
 	accountReportsSubcommand.Flags().StringVar(&accountsOpts.comment, "comment", "", "Report comment")
 	accountReportsSubcommand.Flags().BoolVar(&accountsOpts.list, "list", false, "List current user reports")
 
+	accountSearchSubcommand.Flags().BoolVar(&accountsOpts.following, "following", false, "Restrict search to accounts you are following")
+
 	accountUpdateSubcommand.Flags().StringVar(&accountsOpts.displayName, "display-name", "", "User display name")
 	accountUpdateSubcommand.Flags().StringVar(&accountsOpts.note, "note", "", "User note (a.k.a. bio)")
 	accountUpdateSubcommand.Flags().StringVar(&accountsOpts.avatar, "avatar", "", "User avatar image")
@@ -145,16 +149,7 @@
 			return accountSubcommandsRunE(cmd.Name(), args)
 		},
 	},
-	&cobra.Command{
-		Use:   "search TEXT",
-		Short: "Search for user accounts",
-		Long: `Search for user accounts.
-The server will lookup an account remotely if the search term is in the
-username@domain format and not yet in the database.`,
-		RunE: func(cmd *cobra.Command, args []string) error {
-			return accountSubcommandsRunE(cmd.Name(), args)
-		},
-	},
+	accountSearchSubcommand,
 	accountStatusesSubcommand,
 	accountFollowRequestsSubcommand,
 	accountFollowSubcommand,
@@ -165,6 +160,17 @@
 	accountUpdateSubcommand,
 }
 
+var accountSearchSubcommand = &cobra.Command{
+	Use:   "search TEXT",
+	Short: "Search for user accounts",
+	Long: `Search for user accounts.
+er will lookup an account remotely if the search term is in the
+@domain format and not yet in the database.`,
+	RunE: func(cmd *cobra.Command, args []string) error {
+		return accountSubcommandsRunE(cmd.Name(), args)
+	},
+}
+
 var accountStatusesSubcommand = &cobra.Command{
 	Use:     "statuses",
 	Aliases: []string{"st"},
@@ -377,7 +383,7 @@
 		obj = account
 	case "search":
 		var accountList []madon.Account
-		accountList, err = gClient.SearchAccounts(strings.Join(args, " "), limOpts)
+		accountList, err = gClient.SearchAccounts(strings.Join(args, " "), opt.following, limOpts)
 		obj = accountList
 	case "followers":
 		var accountList []madon.Account
@@ -594,7 +600,7 @@
 		// Remove leading '@'
 		user = strings.TrimLeft(user, "@")
 
-		accList, err := gClient.SearchAccounts(user, &madon.LimitParams{Limit: 2})
+		accList, err := gClient.SearchAccounts(user, false, &madon.LimitParams{Limit: 2})
 		if err != nil {
 			return 0, err
 		}