2022-10-17 10:23:57 -05:00
|
|
|
package fsutil
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"os"
|
|
|
|
)
|
|
|
|
|
|
|
|
// CreateTempFile generates a temp filepath, based on the provided suffix.
|
|
|
|
// A typical generated path looks like /var/folders/abcd/abcdefg/A/1137975807.
|
|
|
|
func CreateTempFile(sfx string) (string, error) {
|
|
|
|
var suffix string
|
|
|
|
if sfx != "" {
|
|
|
|
suffix = fmt.Sprintf("*-%s", sfx)
|
|
|
|
} else {
|
|
|
|
suffix = sfx
|
|
|
|
}
|
|
|
|
f, err := os.CreateTemp("", suffix)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
if err := f.Close(); err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
return f.Name(), nil
|
|
|
|
}
|
2022-10-19 05:58:22 -05:00
|
|
|
|
|
|
|
// CreateTempDir generates a temp directory, based on the provided suffix.
|
|
|
|
// A typical generated path looks like /var/folders/abcd/abcdefg/A/1137975807/.
|
|
|
|
func CreateTempDir(sfx string) (string, error) {
|
|
|
|
var suffix string
|
|
|
|
if sfx != "" {
|
|
|
|
suffix = fmt.Sprintf("*-%s", sfx)
|
|
|
|
} else {
|
|
|
|
suffix = sfx
|
|
|
|
}
|
|
|
|
dir, err := os.MkdirTemp("", suffix)
|
|
|
|
if err != nil {
|
|
|
|
return "", err
|
|
|
|
}
|
|
|
|
|
|
|
|
return dir, nil
|
|
|
|
}
|