agent/inventory/gatherers/file/dataProvider_unix.go (29 lines of code) (raw):
// +build darwin freebsd linux netbsd openbsd
package file
import (
"os"
"path/filepath"
"strconv"
"time"
"github.com/aliyun/aliyun_assist_client/agent/log"
"github.com/aliyun/aliyun_assist_client/agent/inventory/model"
)
func expand(str string, mapping func(string) string) (newStr string, err error) {
newStr = os.Expand(str, mapping)
return
}
//getMetaData gets metadata for the specified file paths
func getMetaData(paths []string) (fileInfo []model.FileData, err error) {
for _, p := range paths {
fi, err := os.Stat(p)
if err != nil {
log.GetLogger().Error(err)
} else {
var data model.FileData
data.Size = strconv.FormatInt(fi.Size(), 10)
data.Name = fi.Name()
data.ModificationTime = fi.ModTime().Format(time.RFC3339)
data.InstalledDir = filepath.Dir(p)
fileInfo = append(fileInfo, data)
}
}
return
}