diff options
Diffstat (limited to 'modules/options/dynamic.go')
-rw-r--r-- | modules/options/dynamic.go | 48 |
1 files changed, 6 insertions, 42 deletions
diff --git a/modules/options/dynamic.go b/modules/options/dynamic.go index 8c954492ae..3d6261983f 100644 --- a/modules/options/dynamic.go +++ b/modules/options/dynamic.go @@ -6,62 +6,26 @@ package options import ( - "fmt" - "os" - "path" - - "code.gitea.io/gitea/modules/log" "code.gitea.io/gitea/modules/setting" - "code.gitea.io/gitea/modules/util" ) -var directories = make(directorySet) - // Dir returns all files from static or custom directory. func Dir(name string) ([]string, error) { if directories.Filled(name) { return directories.Get(name), nil } - var result []string - - for _, dir := range []string{ - path.Join(setting.CustomPath, "options", name), // custom dir - path.Join(setting.StaticRootPath, "options", name), // static dir - } { - files, err := statDirIfExist(dir) - if err != nil { - return nil, err - } - result = append(result, files...) + result, err := listLocalDirIfExist([]string{setting.CustomPath, setting.StaticRootPath}, "options", name) + if err != nil { + return nil, err } return directories.AddAndGet(name, result), nil } -// fileFromDir is a helper to read files from static or custom path. -func fileFromDir(name string) ([]byte, error) { - customPath := path.Join(setting.CustomPath, "options", name) - - isFile, err := util.IsFile(customPath) - if err != nil { - log.Error("Unable to check if %s is a file. Error: %v", customPath, err) - } - if isFile { - return os.ReadFile(customPath) - } - - staticPath := path.Join(setting.StaticRootPath, "options", name) - - isFile, err = util.IsFile(staticPath) - if err != nil { - log.Error("Unable to check if %s is a file. Error: %v", staticPath, err) - } - if isFile { - return os.ReadFile(staticPath) - } - - return []byte{}, fmt.Errorf("Asset file does not exist: %s", name) +// fileFromOptionsDir is a helper to read files from custom or static path. +func fileFromOptionsDir(elems ...string) ([]byte, error) { + return readLocalFile([]string{setting.CustomPath, setting.StaticRootPath}, "options", elems...) } // IsDynamic will return false when using embedded data (-tags bindata) |