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": |