diff options
Diffstat (limited to 'vendor/github.com/spf13/viper/file.go')
| -rw-r--r-- | vendor/github.com/spf13/viper/file.go | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/vendor/github.com/spf13/viper/file.go b/vendor/github.com/spf13/viper/file.go deleted file mode 100644 index 50a40581d..000000000 --- a/vendor/github.com/spf13/viper/file.go +++ /dev/null @@ -1,104 +0,0 @@ -package viper - -import ( - "fmt" - "os" - "path/filepath" - - "github.com/sagikazarmark/locafero" - "github.com/spf13/afero" -) - -// ExperimentalFinder tells Viper to use the new Finder interface for finding configuration files. -func ExperimentalFinder() Option { - return optionFunc(func(v *Viper) { - v.experimentalFinder = true - }) -} - -// Search for a config file. -func (v *Viper) findConfigFile() (string, error) { - finder := v.finder - - if finder == nil && v.experimentalFinder { - var names []string - - if v.configType != "" { - names = locafero.NameWithOptionalExtensions(v.configName, SupportedExts...) - } else { - names = locafero.NameWithExtensions(v.configName, SupportedExts...) - } - - finder = locafero.Finder{ - Paths: v.configPaths, - Names: names, - Type: locafero.FileTypeFile, - } - } - - if finder != nil { - return v.findConfigFileWithFinder(finder) - } - - return v.findConfigFileOld() -} - -func (v *Viper) findConfigFileWithFinder(finder Finder) (string, error) { - results, err := finder.Find(v.fs) - if err != nil { - return "", err - } - - if len(results) == 0 { - return "", ConfigFileNotFoundError{v.configName, fmt.Sprintf("%s", v.configPaths)} - } - - // We call clean on the final result to ensure that the path is in its canonical form. - // This is mostly for consistent path handling and to make sure tests pass. - return results[0], nil -} - -// Search all configPaths for any config file. -// Returns the first path that exists (and is a config file). -func (v *Viper) findConfigFileOld() (string, error) { - v.logger.Info("searching for config in paths", "paths", v.configPaths) - - for _, cp := range v.configPaths { - file := v.searchInPath(cp) - if file != "" { - return file, nil - } - } - return "", ConfigFileNotFoundError{v.configName, fmt.Sprintf("%s", v.configPaths)} -} - -func (v *Viper) searchInPath(in string) (filename string) { - v.logger.Debug("searching for config in path", "path", in) - for _, ext := range SupportedExts { - v.logger.Debug("checking if file exists", "file", filepath.Join(in, v.configName+"."+ext)) - if b, _ := exists(v.fs, filepath.Join(in, v.configName+"."+ext)); b { - v.logger.Debug("found file", "file", filepath.Join(in, v.configName+"."+ext)) - return filepath.Join(in, v.configName+"."+ext) - } - } - - if v.configType != "" { - if b, _ := exists(v.fs, filepath.Join(in, v.configName)); b { - return filepath.Join(in, v.configName) - } - } - - return "" -} - -// exists checks if file exists. -func exists(fs afero.Fs, path string) (bool, error) { - stat, err := fs.Stat(path) - if err == nil { - return !stat.IsDir(), nil - } - if os.IsNotExist(err) { - return false, nil - } - return false, err -} |
