fusenapi/utils/fstpl/auto_parse.go
2023-09-04 12:30:24 +08:00

42 lines
768 B
Go

package fstpl
import (
"log"
"os"
"runtime"
"strings"
"text/template"
)
func AutoParseTplFiles() *template.Template {
var currentFilePath string
var ok bool
_, currentFilePath, _, ok = runtime.Caller(1)
if !ok {
panic("Error: Unable to get the current file path.")
}
dirs := strings.Split(currentFilePath, "/")
dirs = dirs[0 : len(dirs)-1]
var curdir string
for i := 0; i < 20; i++ {
curdir = strings.Join(dirs, "/")
finfo, err := os.Stat(curdir + "/fs_template")
//TODO: 完成
if err == nil && finfo.IsDir() {
tpls, err := template.ParseGlob(curdir + "/fs_template/*.tpl")
if err != nil {
log.Fatal(err)
}
return tpls
}
// log.Println(finfo, err)
dirs = dirs[:len(dirs)-1]
}
panic("can't find template dirs")
}