cmd/status.go
changeset 167 1341bacd01c9
parent 154 f07a61122b0d
child 168 ce4000ac7294
equal deleted inserted replaced
166:79c0f8db66ff 167:1341bacd01c9
    30 	textFilePath  string
    30 	textFilePath  string
    31 	stdin         bool
    31 	stdin         bool
    32 	addMentions   bool
    32 	addMentions   bool
    33 
    33 
    34 	// Used for several subcommands to limit the number of results
    34 	// Used for several subcommands to limit the number of results
    35 	limit uint
    35 	limit, keep uint
    36 	//sinceID, maxID int64
    36 	//sinceID, maxID int64
    37 	all bool
    37 	all bool
    38 }
    38 }
    39 
    39 
    40 func init() {
    40 func init() {
    43 	// Subcommands
    43 	// Subcommands
    44 	statusCmd.AddCommand(statusSubcommands...)
    44 	statusCmd.AddCommand(statusSubcommands...)
    45 
    45 
    46 	// Global flags
    46 	// Global flags
    47 	statusCmd.PersistentFlags().Int64VarP(&statusOpts.statusID, "status-id", "s", 0, "Status ID number")
    47 	statusCmd.PersistentFlags().Int64VarP(&statusOpts.statusID, "status-id", "s", 0, "Status ID number")
    48 	statusCmd.PersistentFlags().UintVarP(&statusOpts.limit, "limit", "l", 0, "Limit number of results")
    48 	statusCmd.PersistentFlags().UintVarP(&statusOpts.limit, "limit", "l", 0, "Limit number of API results")
       
    49 	statusCmd.PersistentFlags().UintVarP(&statusOpts.keep, "keep", "k", 0, "Limit number of results")
    49 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.sinceID, "since-id", 0, "Request IDs greater than a value")
    50 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.sinceID, "since-id", 0, "Request IDs greater than a value")
    50 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.maxID, "max-id", 0, "Request IDs less (or equal) than a value")
    51 	//statusCmd.PersistentFlags().Int64Var(&statusOpts.maxID, "max-id", 0, "Request IDs less (or equal) than a value")
    51 	statusCmd.PersistentFlags().BoolVar(&statusOpts.all, "all", false, "Fetch all results (for reblogged-by/favourited-by)")
    52 	statusCmd.PersistentFlags().BoolVar(&statusOpts.all, "all", false, "Fetch all results (for reblogged-by/favourited-by)")
    52 
    53 
    53 	statusCmd.MarkPersistentFlagRequired("status-id")
    54 	statusCmd.MarkPersistentFlagRequired("status-id")
   230 		context, err = gClient.GetStatusCard(opt.statusID)
   231 		context, err = gClient.GetStatusCard(opt.statusID)
   231 		obj = context
   232 		obj = context
   232 	case "reblogged-by":
   233 	case "reblogged-by":
   233 		var accountList []madon.Account
   234 		var accountList []madon.Account
   234 		accountList, err = gClient.GetStatusRebloggedBy(opt.statusID, limOpts)
   235 		accountList, err = gClient.GetStatusRebloggedBy(opt.statusID, limOpts)
   235 		if opt.limit > 0 && len(accountList) > int(opt.limit) {
   236 		if opt.keep > 0 && len(accountList) > int(opt.keep) {
   236 			accountList = accountList[:opt.limit]
   237 			accountList = accountList[:opt.keep]
   237 		}
   238 		}
   238 		obj = accountList
   239 		obj = accountList
   239 	case "favourited-by":
   240 	case "favourited-by":
   240 		var accountList []madon.Account
   241 		var accountList []madon.Account
   241 		accountList, err = gClient.GetStatusFavouritedBy(opt.statusID, limOpts)
   242 		accountList, err = gClient.GetStatusFavouritedBy(opt.statusID, limOpts)
   242 		if opt.limit > 0 && len(accountList) > int(opt.limit) {
   243 		if opt.keep > 0 && len(accountList) > int(opt.keep) {
   243 			accountList = accountList[:opt.limit]
   244 			accountList = accountList[:opt.keep]
   244 		}
   245 		}
   245 		obj = accountList
   246 		obj = accountList
   246 	case "delete":
   247 	case "delete":
   247 		err = gClient.DeleteStatus(opt.statusID)
   248 		err = gClient.DeleteStatus(opt.statusID)
   248 	case "boost":
   249 	case "boost":