package common
import (
"os"
"path/filepath"
"time"
"github.com/xmirrorsecurity/opensca-cli/v3/opensca/logs"
)
var tempdir = ".temp"
func init() {
excpath, _ := os.Executable()
tempdir = filepath.Join(filepath.Dir(excpath), tempdir)
os.MkdirAll(tempdir, 0755)
old := time.Now().Add(-24 * time.Hour)
entries, err := os.ReadDir(tempdir)
if err != nil {
return
}
for _, entry := range entries {
info, err := entry.Info()
if err != nil {
continue
}
if info.ModTime().Before(old) {
os.RemoveAll(filepath.Join(tempdir, entry.Name()))
}
}
}
func MkdirTemp(pattern string) string {
tmp, err := os.MkdirTemp(tempdir, pattern)
if err != nil {
logs.Warn(err)
}
return tmp
}
func CreateTemp(pattern string) *os.File {
tempf, err := os.CreateTemp(tempdir, pattern)
if err != nil {
logs.Warn(err)
}
return tempf
}