cmd/status.go
changeset 271 c8b8b7cc8896
parent 268 4dd196a4ee7c
equal deleted inserted replaced
270:df7e9dff1b66 271:c8b8b7cc8896
    19 
    19 
    20 var statusPostFlags *flag.FlagSet
    20 var statusPostFlags *flag.FlagSet
    21 
    21 
    22 var statusOpts struct {
    22 var statusOpts struct {
    23 	statusID madon.ActivityID
    23 	statusID madon.ActivityID
    24 	unset    bool // TODO remove eventually?
       
    25 
    24 
    26 	// The following fields are used for the post/toot command
    25 	// The following fields are used for the post/toot command
    27 	visibility     string
    26 	visibility     string
    28 	sensitive      bool
    27 	sensitive      bool
    29 	spoiler        string
    28 	spoiler        string
    57 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.sinceID, "since-id", 0, "Request IDs greater than a value")
    56 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.sinceID, "since-id", 0, "Request IDs greater than a value")
    58 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.maxID, "max-id", 0, "Request IDs less (or equal) than a value")
    57 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.maxID, "max-id", 0, "Request IDs less (or equal) than a value")
    59 	statusCmd.PersistentFlags().BoolVar(&statusOpts.all, "all", false, "Fetch all results (for reblogged-by/favourited-by)")
    58 	statusCmd.PersistentFlags().BoolVar(&statusOpts.all, "all", false, "Fetch all results (for reblogged-by/favourited-by)")
    60 
    59 
    61 	// Subcommand flags
    60 	// Subcommand flags
    62 	statusReblogSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unreblog the status (deprecated)")
       
    63 	statusFavouriteSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Remove the status from the favourites (deprecated)")
       
    64 	statusPinSubcommand.Flags().BoolVar(&statusOpts.unset, "unset", false, "Unpin the status (deprecated)")
       
    65 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sensitive, "sensitive", false, "Mark post as sensitive (NSFW)")
    61 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sensitive, "sensitive", false, "Mark post as sensitive (NSFW)")
    66 	statusPostSubcommand.Flags().StringVar(&statusOpts.visibility, "visibility", "", "Visibility (direct|private|unlisted|public)")
    62 	statusPostSubcommand.Flags().StringVar(&statusOpts.visibility, "visibility", "", "Visibility (direct|private|unlisted|public)")
    67 	statusPostSubcommand.Flags().StringVar(&statusOpts.spoiler, "spoiler", "", "Spoiler warning (CW)")
    63 	statusPostSubcommand.Flags().StringVar(&statusOpts.spoiler, "spoiler", "", "Spoiler warning (CW)")
    68 	statusPostSubcommand.Flags().StringVar(&statusOpts.mediaIDs, "media-ids", "", "Comma-separated list of media IDs")
    64 	statusPostSubcommand.Flags().StringVar(&statusOpts.mediaIDs, "media-ids", "", "Comma-separated list of media IDs")
    69 	statusPostSubcommand.Flags().StringVarP(&statusOpts.mediaFilePath, "file", "f", "", "Media file name")
    65 	statusPostSubcommand.Flags().StringVarP(&statusOpts.mediaFilePath, "file", "f", "", "Media file name")
    70 	statusPostSubcommand.Flags().StringVar(&statusOpts.textFilePath, "text-file", "", "Text file name (message content)")
    66 	statusPostSubcommand.Flags().StringVar(&statusOpts.textFilePath, "text-file", "", "Text file name (message content)")
    71 	statusPostSubcommand.Flags().StringVarP(&statusOpts.inReplyToID, "in-reply-to", "r", "", "Status ID to reply to")
    67 	statusPostSubcommand.Flags().StringVarP(&statusOpts.inReplyToID, "in-reply-to", "r", "", "Status ID to reply to")
    72 	statusPostSubcommand.Flags().BoolVar(&statusOpts.stdin, "stdin", false, "Read message content from standard input")
    68 	statusPostSubcommand.Flags().BoolVar(&statusOpts.stdin, "stdin", false, "Read message content from standard input")
    73 	statusPostSubcommand.Flags().BoolVar(&statusOpts.addMentions, "add-mentions", false, "Add mentions when replying")
    69 	statusPostSubcommand.Flags().BoolVar(&statusOpts.addMentions, "add-mentions", false, "Add mentions when replying")
    74 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sameVisibility, "same-visibility", false, "Use same visibility as original message (for replies)")
    70 	statusPostSubcommand.Flags().BoolVar(&statusOpts.sameVisibility, "same-visibility", false, "Use same visibility as original message (for replies)")
    75 
       
    76 	// Deprecated flags
       
    77 	statusReblogSubcommand.Flags().MarkDeprecated("unset", "please use unboost instead")
       
    78 	statusFavouriteSubcommand.Flags().MarkDeprecated("unset", "please use unfavourite instead")
       
    79 	statusPinSubcommand.Flags().MarkDeprecated("unset", "please use unpin instead")
       
    80 
    71 
    81 	// Flag completion
    72 	// Flag completion
    82 	annotation := make(map[string][]string)
    73 	annotation := make(map[string][]string)
    83 	annotation[cobra.BashCompCustom] = []string{"__madonctl_visibility"}
    74 	annotation[cobra.BashCompCustom] = []string{"__madonctl_visibility"}
    84 
    75 
   302 		}
   293 		}
   303 		obj = accountList
   294 		obj = accountList
   304 	case "delete":
   295 	case "delete":
   305 		err = gClient.DeleteStatus(opt.statusID)
   296 		err = gClient.DeleteStatus(opt.statusID)
   306 	case "boost", "unboost":
   297 	case "boost", "unboost":
   307 		if opt.unset || subcmd == "unboost" {
   298 		if subcmd == "unboost" {
   308 			err = gClient.UnreblogStatus(opt.statusID)
   299 			err = gClient.UnreblogStatus(opt.statusID)
   309 		} else {
   300 		} else {
   310 			err = gClient.ReblogStatus(opt.statusID)
   301 			err = gClient.ReblogStatus(opt.statusID)
   311 		}
   302 		}
   312 	case "favourite", "unfavourite":
   303 	case "favourite", "unfavourite":
   313 		if opt.unset || subcmd == "unfavourite" {
   304 		if subcmd == "unfavourite" {
   314 			err = gClient.UnfavouriteStatus(opt.statusID)
   305 			err = gClient.UnfavouriteStatus(opt.statusID)
   315 		} else {
   306 		} else {
   316 			err = gClient.FavouriteStatus(opt.statusID)
   307 			err = gClient.FavouriteStatus(opt.statusID)
   317 		}
   308 		}
   318 	case "pin", "unpin":
   309 	case "pin", "unpin":
   319 		if opt.unset || subcmd == "unpin" {
   310 		if subcmd == "unpin" {
   320 			err = gClient.UnpinStatus(opt.statusID)
   311 			err = gClient.UnpinStatus(opt.statusID)
   321 		} else {
   312 		} else {
   322 			err = gClient.PinStatus(opt.statusID)
   313 			err = gClient.PinStatus(opt.statusID)
   323 		}
   314 		}
   324 	case "mute-conversation":
   315 	case "mute-conversation":