summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/GeertJohan/go.rice/walk.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/GeertJohan/go.rice/walk.go')
-rw-r--r--vendor/github.com/GeertJohan/go.rice/walk.go122
1 files changed, 0 insertions, 122 deletions
diff --git a/vendor/github.com/GeertJohan/go.rice/walk.go b/vendor/github.com/GeertJohan/go.rice/walk.go
deleted file mode 100644
index 3042aeab..00000000
--- a/vendor/github.com/GeertJohan/go.rice/walk.go
+++ /dev/null
@@ -1,122 +0,0 @@
-package rice
-
-import (
- "os"
- "path/filepath"
- "sort"
- "strings"
-)
-
-// Walk is like filepath.Walk()
-// Visit http://golang.org/pkg/path/filepath/#Walk for more information
-func (b *Box) Walk(path string, walkFn filepath.WalkFunc) error {
-
- pathFile, err := b.Open(path)
- if err != nil {
- return err
- }
- defer pathFile.Close()
-
- pathInfo, err := pathFile.Stat()
- if err != nil {
- return err
- }
-
- if b.IsAppended() || b.IsEmbedded() {
- return b.walk(path, pathInfo, walkFn)
- }
-
- // We don't have any embedded or appended box so use live filesystem mode
- return filepath.Walk(b.absolutePath+string(os.PathSeparator)+path, func(path string, info os.FileInfo, err error) error {
-
- // Strip out the box name from the returned paths
- path = strings.TrimPrefix(path, b.absolutePath+string(os.PathSeparator))
- return walkFn(path, info, err)
-
- })
-
-}
-
-// walk recursively descends path.
-// See walk() in $GOROOT/src/pkg/path/filepath/path.go
-func (b *Box) walk(path string, info os.FileInfo, walkFn filepath.WalkFunc) error {
-
- err := walkFn(path, info, nil)
- if err != nil {
- if info.IsDir() && err == filepath.SkipDir {
- return nil
- }
- return err
- }
-
- if !info.IsDir() {
- return nil
- }
-
- names, err := b.readDirNames(path)
- if err != nil {
- return walkFn(path, info, err)
- }
-
- for _, name := range names {
-
- filename := filepath.Join(path, name)
- fileObject, err := b.Open(filename)
- if err != nil {
- return err
- }
- defer fileObject.Close()
-
- fileInfo, err := fileObject.Stat()
- if err != nil {
- if err := walkFn(filename, fileInfo, err); err != nil && err != filepath.SkipDir {
- return err
- }
- } else {
- err = b.walk(filename, fileInfo, walkFn)
- if err != nil {
- if !fileInfo.IsDir() || err != filepath.SkipDir {
- return err
- }
- }
- }
- }
-
- return nil
-
-}
-
-// readDirNames reads the directory named by path and returns a sorted list of directory entries.
-// See readDirNames() in $GOROOT/pkg/path/filepath/path.go
-func (b *Box) readDirNames(path string) ([]string, error) {
-
- f, err := b.Open(path)
- if err != nil {
- return nil, err
- }
- defer f.Close()
-
- stat, err := f.Stat()
- if err != nil {
- return nil, err
- }
-
- if !stat.IsDir() {
- return nil, nil
- }
-
- infos, err := f.Readdir(0)
- if err != nil {
- return nil, err
- }
-
- var names []string
-
- for _, info := range infos {
- names = append(names, info.Name())
- }
-
- sort.Strings(names)
- return names, nil
-
-}