Pin/Unpin support
authorMikael Berthe <mikael@lilotux.net>
Mon, 19 Mar 2018 11:29:06 +0100
changeset 179 a60295c41321
parent 178 15d211137c20
child 180 9bcc6dc003fd
Pin/Unpin support This patch adds "madonctl status pin [--unset]"
cmd/status.go
--- a/cmd/status.go	Sun Mar 18 23:28:08 2018 +0100
+++ b/cmd/status.go	Mon Mar 19 11:29:06 2018 +0100
@@ -60,6 +60,7 @@
 	// Subcommand flags
 	statusReblogSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unreblog the status")
 	statusFavouriteSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Remove the status from the favourites")
+	statusPinSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unpin the status")
 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sensitive, "sensitive", false, "Mark post as sensitive (NSFW)")
 	statusPostSubcommand.Flags().StringVar(&statusOpts.visibility, "visibility", "", "Visibility (direct|private|unlisted|public)")
 	statusPostSubcommand.Flags().StringVar(&statusOpts.spoiler, "spoiler", "", "Spoiler warning (CW)")
@@ -161,6 +162,7 @@
 	},
 	statusReblogSubcommand,
 	statusFavouriteSubcommand,
+	statusPinSubcommand,
 	statusPostSubcommand,
 }
 
@@ -182,6 +184,14 @@
 	},
 }
 
+var statusPinSubcommand = &cobra.Command{
+	Use:   "pin",
+	Short: "Pin/unpin the status",
+	RunE: func(cmd *cobra.Command, args []string) error {
+		return statusSubcommandRunE(cmd.Name(), args)
+	},
+}
+
 var statusPostSubcommand = &cobra.Command{
 	Use:     "post",
 	Aliases: []string{"toot", "pouet"},
@@ -266,6 +276,12 @@
 		} else {
 			err = gClient.FavouriteStatus(opt.statusID)
 		}
+	case "pin":
+		if opt.unset {
+			err = gClient.UnpinStatus(opt.statusID)
+		} else {
+			err = gClient.PinStatus(opt.statusID)
+		}
 	case "mute-conversation":
 		var s *madon.Status
 		s, err = gClient.MuteConversation(opt.statusID)