X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fconfig%2Fcommands.go;h=a55cef494ef8e24d58b50debff2f949ef8f5e6ff;hb=HEAD;hp=8a6f24014e4783c07defe314b1dd1b9db30238ae;hpb=f2f2bc47e8729548f3c10117f7f008b547c4afc5;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/config/commands.go b/cmd/safcm/config/commands.go index 8a6f240..a55cef4 100644 --- a/cmd/safcm/config/commands.go +++ b/cmd/safcm/config/commands.go @@ -1,19 +1,7 @@ // Config: parse commands.yaml -// Copyright (C) 2021 Simon Ruderich -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . +// SPDX-License-Identifier: GPL-3.0-or-later +// Copyright (C) 2021-2024 Simon Ruderich package config @@ -23,12 +11,14 @@ import ( "path/filepath" "gopkg.in/yaml.v2" + + "ruderich.org/simon/safcm" ) -func LoadCommands(group string) ([]string, error) { +func LoadCommands(group string) ([]*safcm.Command, error) { path := filepath.Join(group, "commands.yaml") - var res []string + var cmds []string x, err := os.ReadFile(path) if err != nil { if os.IsNotExist(err) { @@ -36,9 +26,17 @@ func LoadCommands(group string) ([]string, error) { } return nil, err } - err = yaml.UnmarshalStrict(x, &res) + err = yaml.UnmarshalStrict(x, &cmds) if err != nil { return nil, fmt.Errorf("%s: failed to load: %v", path, err) } + + var res []*safcm.Command + for _, x := range cmds { + res = append(res, &safcm.Command{ + OrigGroup: group, + Cmd: x, + }) + } return res, nil }