cmd/status.go
changeset 179 a60295c41321
parent 176 7efbbed5cf3c
child 185 564d92b54b00
equal deleted inserted replaced
178:15d211137c20 179:a60295c41321
    58 	statusCmd.MarkPersistentFlagRequired("status-id")
    58 	statusCmd.MarkPersistentFlagRequired("status-id")
    59 
    59 
    60 	// Subcommand flags
    60 	// Subcommand flags
    61 	statusReblogSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unreblog the status")
    61 	statusReblogSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unreblog the status")
    62 	statusFavouriteSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Remove the status from the favourites")
    62 	statusFavouriteSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Remove the status from the favourites")
       
    63 	statusPinSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unpin the status")
    63 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sensitive, "sensitive", false, "Mark post as sensitive (NSFW)")
    64 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sensitive, "sensitive", false, "Mark post as sensitive (NSFW)")
    64 	statusPostSubcommand.Flags().StringVar(&statusOpts.visibility, "visibility", "", "Visibility (direct|private|unlisted|public)")
    65 	statusPostSubcommand.Flags().StringVar(&statusOpts.visibility, "visibility", "", "Visibility (direct|private|unlisted|public)")
    65 	statusPostSubcommand.Flags().StringVar(&statusOpts.spoiler, "spoiler", "", "Spoiler warning (CW)")
    66 	statusPostSubcommand.Flags().StringVar(&statusOpts.spoiler, "spoiler", "", "Spoiler warning (CW)")
    66 	statusPostSubcommand.Flags().StringVar(&statusOpts.mediaIDs, "media-ids", "", "Comma-separated list of media IDs")
    67 	statusPostSubcommand.Flags().StringVar(&statusOpts.mediaIDs, "media-ids", "", "Comma-separated list of media IDs")
    67 	statusPostSubcommand.Flags().StringVarP(&statusOpts.mediaFilePath, "file", "f", "", "Media file name")
    68 	statusPostSubcommand.Flags().StringVarP(&statusOpts.mediaFilePath, "file", "f", "", "Media file name")
   159 			return statusSubcommandRunE(cmd.Name(), args)
   160 			return statusSubcommandRunE(cmd.Name(), args)
   160 		},
   161 		},
   161 	},
   162 	},
   162 	statusReblogSubcommand,
   163 	statusReblogSubcommand,
   163 	statusFavouriteSubcommand,
   164 	statusFavouriteSubcommand,
       
   165 	statusPinSubcommand,
   164 	statusPostSubcommand,
   166 	statusPostSubcommand,
   165 }
   167 }
   166 
   168 
   167 var statusReblogSubcommand = &cobra.Command{
   169 var statusReblogSubcommand = &cobra.Command{
   168 	Use:     "boost",
   170 	Use:     "boost",
   175 
   177 
   176 var statusFavouriteSubcommand = &cobra.Command{
   178 var statusFavouriteSubcommand = &cobra.Command{
   177 	Use:     "favourite",
   179 	Use:     "favourite",
   178 	Aliases: []string{"favorite", "fave"},
   180 	Aliases: []string{"favorite", "fave"},
   179 	Short:   "Mark/unmark the status as favourite",
   181 	Short:   "Mark/unmark the status as favourite",
       
   182 	RunE: func(cmd *cobra.Command, args []string) error {
       
   183 		return statusSubcommandRunE(cmd.Name(), args)
       
   184 	},
       
   185 }
       
   186 
       
   187 var statusPinSubcommand = &cobra.Command{
       
   188 	Use:   "pin",
       
   189 	Short: "Pin/unpin the status",
   180 	RunE: func(cmd *cobra.Command, args []string) error {
   190 	RunE: func(cmd *cobra.Command, args []string) error {
   181 		return statusSubcommandRunE(cmd.Name(), args)
   191 		return statusSubcommandRunE(cmd.Name(), args)
   182 	},
   192 	},
   183 }
   193 }
   184 
   194 
   263 	case "favourite":
   273 	case "favourite":
   264 		if opt.unset {
   274 		if opt.unset {
   265 			err = gClient.UnfavouriteStatus(opt.statusID)
   275 			err = gClient.UnfavouriteStatus(opt.statusID)
   266 		} else {
   276 		} else {
   267 			err = gClient.FavouriteStatus(opt.statusID)
   277 			err = gClient.FavouriteStatus(opt.statusID)
       
   278 		}
       
   279 	case "pin":
       
   280 		if opt.unset {
       
   281 			err = gClient.UnpinStatus(opt.statusID)
       
   282 		} else {
       
   283 			err = gClient.PinStatus(opt.statusID)
   268 		}
   284 		}
   269 	case "mute-conversation":
   285 	case "mute-conversation":
   270 		var s *madon.Status
   286 		var s *madon.Status
   271 		s, err = gClient.MuteConversation(opt.statusID)
   287 		s, err = gClient.MuteConversation(opt.statusID)
   272 		obj = s
   288 		obj = s