Files
filebrowser/cmd/cmds_rm.go
T

66 lines
1.4 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 {
2024-04-01 18:24:06 +02:00
if err := cobra.RangeArgs(2, 3)(cmd, args); err != nil {
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
},
RunE: python(func(_ *cobra.Command, args []string, d *pythonData) error {
2019-01-07 20:24:23 +00:00
s, err := d.store.Settings.Get()
if err != nil {
return 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])
if err != nil {
return err
}
2019-01-06 13:21:31 +00:00
f := i
2024-04-01 18:24:06 +02:00
if len(args) == 3 {
2019-01-06 13:21:31 +00:00
f, err = strconv.Atoi(args[2])
if err != nil {
return err
}
2019-01-06 13:21:31 +00:00
}
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)
if err != nil {
return err
}
2019-01-05 22:44:33 +00:00
printEvents(s.Commands)
return nil
2019-01-07 20:24:23 +00:00
}, pythonConfig{}),
2019-01-05 22:44:33 +00:00
}