package sugar import ( "fmt" "log/slog" "os" "path/filepath" "strconv" ) func EnsureDir(dirPath ...string) (string, error) { outPath := filepath.Join(dirPath...) if len(outPath) < 3 { return "", fmt.Errorf("the path is short to be a folder: %s", outPath) } if _, err := os.Stat(outPath); os.IsNotExist(err) { var dirMod uint64 if dirMod, err = strconv.ParseUint("0775", 8, 32); err == nil { err = os.Mkdir(outPath, os.FileMode(dirMod)) } if err != nil && !os.IsExist(err) { slog.Error("error creating tmp dir", "err", err) } } return outPath, nil } func WriteDataToTmpFile(content, fp string) (int, string, error) { dir, err := EnsureDir(os.TempDir(), "mdb") if err != nil { slog.Error("EnsureDir", "err", err.Error()) return 0, dir, err } fp = filepath.Join(dir, fp) f, err := os.Create(fp) if err != nil { slog.Error("CreateFile", "e", err) return 0, fp, err } filesize, err := f.WriteString(content) if err != nil { slog.Error("WriteString", "e", err) return 0, fp, err } err = f.Close() if err != nil { slog.Error("CloseFile", "e", err) return 0, fp, err } return filesize, fp, nil } /* REMOVED_FROM_MMT_DUE_TO_REDOING_OF_THE_EVENT_LOG */