1
0
mirror of https://github.com/ManyakRus/starter.git synced 2025-11-24 22:53:52 +02:00
Files
starter/pdf_generator/internal/v0/app/programdir/programdir.go
Nikitin Aleksandr ed38032845 сделал gpt4
2023-05-02 09:51:50 +03:00

45 lines
959 B
Go

package programdir
import (
"os"
"path/filepath"
"runtime"
"strings"
"github.com/ManyakRus/starter/common/v0/micro"
)
// CurrentFilename - возвращает полное имя текущего исполняемого файла
func CurrentFilename() string {
_, filename, _, _ := runtime.Caller(0)
return filename
}
// ProgramDir - возвращает главный каталог программы, в конце "/"
func ProgramDir() string {
filename := os.Args[0]
dir := filepath.Dir(filename)
sdir := strings.ToLower(dir)
if micro.SubstringLeft(sdir, 5) == "/tmp/" {
filename = CurrentFilename()
dir = filepath.Dir(filename)
if dir[len(dir)-10:] == "programdir" {
dir = micro.FindDirUp(dir)
//dir = micro.FindDirUp(dir)
//dir = micro.FindDirUp(dir)
//dir = FindDirUp(dir)
}
}
//dir, err := os.Getwd()
//if err != nil {
// log.Fatalln(err)
// dir = ""
//}
dir = micro.AddSeparator(dir)
return dir
}