mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
tech(cli): remove loop and head straight for plugindir
This commit is contained in:
parent
07be2c89a3
commit
af216ecf83
@ -2,10 +2,10 @@ package commands
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"fmt"
|
"fmt"
|
||||||
m "github.com/grafana/grafana/pkg/cmd/grafana-cli/models"
|
m "github.com/grafana/grafana/pkg/cmd/grafana-cli/models"
|
||||||
services "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
services "github.com/grafana/grafana/pkg/cmd/grafana-cli/services"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
var getPluginss func(path string) []m.InstalledPlugin = services.GetLocalPlugins
|
var getPluginss func(path string) []m.InstalledPlugin = services.GetLocalPlugins
|
||||||
@ -13,19 +13,21 @@ var removePlugin func(pluginPath, id string) error = services.RemoveInstalledPlu
|
|||||||
|
|
||||||
func removeCommand(c CommandLine) error {
|
func removeCommand(c CommandLine) error {
|
||||||
pluginPath := c.PluginDirectory()
|
pluginPath := c.PluginDirectory()
|
||||||
localPlugins := getPluginss(pluginPath)
|
|
||||||
|
|
||||||
plugin := c.Args().First()
|
plugin := c.Args().First()
|
||||||
if plugin == "" {
|
if plugin == "" {
|
||||||
return errors.New("Missing plugin parameter")
|
return errors.New("Missing plugin parameter")
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, p := range localPlugins {
|
err := removePlugin(pluginPath, plugin)
|
||||||
if p.Id == c.Args().First() {
|
|
||||||
removePlugin(pluginPath, p.Id)
|
if err != nil {
|
||||||
return nil
|
if strings.Contains(err.Error(), "no such file or directory") {
|
||||||
|
return fmt.Errorf("Plugin does not exist")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
return fmt.Errorf("Could not find plugin named %s", c.Args().First())
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -75,9 +75,16 @@ func GetLocalPlugins(pluginDir string) []m.InstalledPlugin {
|
|||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
|
||||||
func RemoveInstalledPlugin(pluginPath, id string) error {
|
func RemoveInstalledPlugin(pluginPath, pluginName string) error {
|
||||||
logger.Infof("Removing plugin: %v\n", id)
|
logger.Infof("Removing plugin: %v\n", pluginName)
|
||||||
return IoHelper.RemoveAll(path.Join(pluginPath, id))
|
pluginDir := path.Join(pluginPath, pluginName)
|
||||||
|
|
||||||
|
_, err := IoHelper.Stat(pluginDir)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
return IoHelper.RemoveAll(pluginDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetPlugin(pluginId, repoUrl string) (m.Plugin, error) {
|
func GetPlugin(pluginId, repoUrl string) (m.Plugin, error) {
|
||||||
|
Loading…
Reference in New Issue
Block a user