Files
ragflow/internal/deepdoc/parser/pdf/tool/config.go
Jin Hai add7b9486f Go: merge duplicate codes (#16783)
### Summary

1. merge heartbeat function.
2. introduce all environments

---------

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
2026-07-10 11:58:32 +08:00

68 lines
1.5 KiB
Go

package tool
import (
"fmt"
"os"
"path/filepath"
"ragflow/internal/common"
"strconv"
"time"
)
type Config struct {
Count int
Single string
SkipOCR bool // DLA+TSR but no image OCR
CompareOnly bool
CompareFilter string
CSVOutput string
GoTextDir string
PyTextDir string
TablesDir string
GoSuffix string
}
func LoadConfig() Config {
goVariant := "ocr"
pyVariant := "ocr"
td := filepath.Join("testdata")
return Config{
Count: envInt(common.EnvBatchCount, 0),
Single: common.GetEnv(common.EnvBatchSingle),
SkipOCR: common.GetEnv(common.EnvBatchSkipOCR) == "1",
CompareOnly: common.GetEnv(common.EnvBatchCompareOnly) == "1",
CompareFilter: common.GetEnv(common.EnvBatchCompareFilter),
CSVOutput: envStr(common.EnvBatchCompareCSV, filepath.Join(td, "output", fmt.Sprintf("compare_%s.csv", time.Now().Format("20060102_150405")))),
GoTextDir: filepath.Join(td, "output", "go", goVariant, "text"),
PyTextDir: filepath.Join(td, "output", "py", pyVariant, "text"),
TablesDir: filepath.Join(td, "output", "go", goVariant, "tables"),
GoSuffix: goVariant,
}
}
func envInt(key string, def int) int {
v := common.GetEnv(key)
if v == "" {
return def
}
n, err := strconv.Atoi(v)
if err != nil {
return def
}
return n
}
func envStr(key, def string) string {
v := common.GetEnv(key)
if v == "" {
return def
}
return v
}
// FileExists returns true if the path exists.
func FileExists(path string) bool {
_, err := os.Stat(path)
return err == nil
}