Files
filebrowser/cmd/cmds_rm.go
T

57 lines
1.3 KiB
Go
Raw Normal View History

2019-01-05 22:44:33 +00:00
package cmd
import (
2019-01-06 13:21:31 +00:00
"strconv"
2019-01-05 22:44:33 +00:00
"github.com/spf13/cobra"
)
func init() {
cmdsCmd.AddCommand(cmdsRmCmd)
}
var cmdsRmCmd = &cobra.Command{
2019-01-06 13:21:31 +00:00
Use: "rm <event> <index> [index_end]",
2019-01-05 22:44:33 +00:00
Short: "Removes a command from an event hooker",
2019-01-08 16:37:02 +00:00
Long: `Removes a command from an event hooker. The provided index
is the same that's printed when you run 'cmds ls'. Note
that after each removal/addition, the index of the
commands change. So be careful when removing them after each
other.
You can also specify an optional parameter (index_end) so
you can remove all commands from 'index' to 'index_end',
including 'index_end'.`,
2019-01-06 13:21:31 +00:00
Args: func(cmd *cobra.Command, args []string) error {
if err := cobra.RangeArgs(2, 3)(cmd, args); err != nil { //nolint:gomnd
2019-01-06 13:21:31 +00:00
return err
}
for _, arg := range args[1:] {
if _, err := strconv.Atoi(arg); err != nil {
return err
}
}
return nil
},
2019-01-07 20:24:23 +00:00
Run: python(func(cmd *cobra.Command, args []string, d pythonData) {
s, err := d.store.Settings.Get()
2019-01-05 22:44:33 +00:00
checkErr(err)
2019-01-06 13:21:31 +00:00
evt := args[0]
2019-01-05 22:44:33 +00:00
2019-01-06 13:21:31 +00:00
i, err := strconv.Atoi(args[1])
2019-01-05 22:44:33 +00:00
checkErr(err)
2019-01-06 13:21:31 +00:00
f := i
if len(args) == 3 { //nolint:gomnd
2019-01-06 13:21:31 +00:00
f, err = strconv.Atoi(args[2])
checkErr(err)
}
2019-01-05 22:44:33 +00:00
2019-01-06 13:21:31 +00:00
s.Commands[evt] = append(s.Commands[evt][:i], s.Commands[evt][f+1:]...)
2019-01-07 20:24:23 +00:00
err = d.store.Settings.Save(s)
2019-01-05 22:44:33 +00:00
checkErr(err)
printEvents(s.Commands)
2019-01-07 20:24:23 +00:00
}, pythonConfig{}),
2019-01-05 22:44:33 +00:00
}