diff --git a/cmd/prune/main.go b/cmd/prune/main.go index 26c1605..97f1d6b 100644 --- a/cmd/prune/main.go +++ b/cmd/prune/main.go @@ -16,6 +16,8 @@ import ( "strings" "syscall" "time" + + "ffmpeg.d/pkg/fs" ) func main() { @@ -244,23 +246,9 @@ func mv(wPath, rPath string) error { } func lsd(d string) ([]string, error) { - return ls(d, true) + return fs.LsD(d) } func lsf(d string) ([]string, error) { - return ls(d, false) -} - -func ls(d string, dirs bool) ([]string, error) { - entries, err := os.ReadDir(d) - - results := make([]string, 0, len(entries)) - for i := range entries { - if dirs == entries[i].IsDir() { - results = append(results, path.Join(d, entries[i].Name())) - } - } - sort.Strings(results) - - return results, err + return fs.LsF(d) } diff --git a/pkg/fs/ls.go b/pkg/fs/ls.go new file mode 100644 index 0000000..4854559 --- /dev/null +++ b/pkg/fs/ls.go @@ -0,0 +1,29 @@ +package fs + +import ( + "os" + "path" + "sort" +) + +func LsD(d string) ([]string, error) { + return ls(d, true) +} + +func LsF(d string) ([]string, error) { + return ls(d, false) +} + +func ls(d string, dirs bool) ([]string, error) { + entries, err := os.ReadDir(d) + + results := make([]string, 0, len(entries)) + for i := range entries { + if dirs == entries[i].IsDir() { + results = append(results, path.Join(d, entries[i].Name())) + } + } + sort.Strings(results) + + return results, err +}