X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=cmd%2Fsafcm%2Fsync_info.go;h=213a4f77411dd115572f11c57c0f42172930f16c;hb=d109a6151f48fc9e322bacbd3cc5e4f00eade713;hp=0df33e3eeaa302ef52c8a7d149e5f107d82812b1;hpb=5d6cc7f14a4bacc36bf3a23cd735a75ad4a90f1d;p=safcm%2Fsafcm.git diff --git a/cmd/safcm/sync_info.go b/cmd/safcm/sync_info.go index 0df33e3..213a4f7 100644 --- a/cmd/safcm/sync_info.go +++ b/cmd/safcm/sync_info.go @@ -1,6 +1,6 @@ // "sync" sub-command: collect information from remote host -// Copyright (C) 2021 Simon Ruderich +// Copyright (C) 2021-2023 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 @@ -28,17 +28,13 @@ import ( ) func (s *Sync) hostInfo(conn *rpc.Conn) ([]string, error) { - x, err := s.sendRecv(conn, safcm.MsgInfoReq{ + resp, err := s.loop.HostInfoMsg(s, conn, safcm.MsgInfoReq{ LogLevel: s.config.LogLevel, DetectGroups: s.config.DetectGroups, }) if err != nil { return nil, err } - resp, ok := x.(safcm.MsgInfoResp) - if !ok { - return nil, fmt.Errorf("unexpected response %v", x) - } if resp.Error != "" { return nil, fmt.Errorf("%s", resp.Error) } @@ -50,14 +46,19 @@ var infoGroupDetectedRegexp = regexp.MustCompile(`[^a-z0-9_-]+`) func hostInfoRespToGroups(resp safcm.MsgInfoResp) []string { groups := []string{ - config.GroupDetectedPrefix + "_" + resp.Goos, - config.GroupDetectedPrefix + "_" + resp.Goarch, + hostInfoDetectedGroupName(resp.Goos), + hostInfoDetectedGroupName(resp.Goarch), } for _, x := range resp.Output { - x = strings.TrimSpace(x) - x = strings.ToLower(x) - x = infoGroupDetectedRegexp.ReplaceAllString(x, "_") - groups = append(groups, config.GroupDetectedPrefix+"_"+x) + groups = append(groups, hostInfoDetectedGroupName(x)) } return groups } + +func hostInfoDetectedGroupName(x string) string { + x = strings.TrimSpace(x) + x = strings.ToLower(x) + x = infoGroupDetectedRegexp.ReplaceAllString(x, "_") + x = config.GroupDetectedPrefix + "_" + x + return x +}