Added check for empty input paths
This commit is contained in:
parent
290395d0eb
commit
15e2cc52cc
65
cmd/files.go
65
cmd/files.go
|
@ -398,6 +398,43 @@ func isImage(path string) (bool, error) {
|
||||||
return filetype.IsImage(head), nil
|
return filetype.IsImage(head), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func pathHasSupportedFiles(path string) (bool, error) {
|
||||||
|
hasSupportedFiles := make(chan bool, 1)
|
||||||
|
|
||||||
|
err := filepath.WalkDir(path, func(p string, info os.DirEntry, err error) error {
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case !recursive && info.IsDir() && p != path:
|
||||||
|
return filepath.SkipDir
|
||||||
|
case !info.IsDir():
|
||||||
|
image, err := isImage(p)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
if image {
|
||||||
|
hasSupportedFiles <- true
|
||||||
|
return filepath.SkipAll
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return err
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
case <-hasSupportedFiles:
|
||||||
|
return true, nil
|
||||||
|
default:
|
||||||
|
return false, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func scanPath(path string, files *Files, filters *Filters, stats *ScanStats, concurrency *Concurrency) error {
|
func scanPath(path string, files *Files, filters *Filters, stats *ScanStats, concurrency *Concurrency) error {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
|
|
||||||
|
@ -586,7 +623,7 @@ func pickFile(args []string, filters *Filters, sort string, index *Index) (strin
|
||||||
}
|
}
|
||||||
|
|
||||||
func normalizePaths(args []string) ([]string, error) {
|
func normalizePaths(args []string) ([]string, error) {
|
||||||
paths := make([]string, len(args))
|
paths := []string{}
|
||||||
|
|
||||||
fmt.Println("Paths:")
|
fmt.Println("Paths:")
|
||||||
|
|
||||||
|
@ -601,13 +638,29 @@ func normalizePaths(args []string) ([]string, error) {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args[i]) != absolutePath {
|
hasSupportedFiles, err := pathHasSupportedFiles(absolutePath)
|
||||||
fmt.Printf("%s (resolved to %s)\n", args[i], absolutePath)
|
if err != nil {
|
||||||
} else {
|
return nil, err
|
||||||
fmt.Printf("%s\n", args[i])
|
|
||||||
}
|
}
|
||||||
|
|
||||||
paths[i] = absolutePath
|
var addPath bool = false
|
||||||
|
|
||||||
|
switch {
|
||||||
|
case args[i] == absolutePath && hasSupportedFiles:
|
||||||
|
fmt.Printf("%s\n", args[i])
|
||||||
|
addPath = true
|
||||||
|
case args[i] != absolutePath && hasSupportedFiles:
|
||||||
|
fmt.Printf("%s (resolved to %s)\n", args[i], absolutePath)
|
||||||
|
addPath = true
|
||||||
|
case args[i] == absolutePath && !hasSupportedFiles:
|
||||||
|
fmt.Printf("%s [No supported files found]\n", args[i])
|
||||||
|
case args[i] != absolutePath && !hasSupportedFiles:
|
||||||
|
fmt.Printf("%s (resolved to %s) [No supported files found]\n", args[i], absolutePath)
|
||||||
|
}
|
||||||
|
|
||||||
|
if addPath {
|
||||||
|
paths = append(paths, absolutePath)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
|
|
|
@ -10,7 +10,7 @@ import (
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
)
|
)
|
||||||
|
|
||||||
var Version = "0.38.2"
|
var Version = "0.39.0"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
rootCmd.AddCommand(versionCmd)
|
rootCmd.AddCommand(versionCmd)
|
||||||
|
|
|
@ -770,6 +770,11 @@ func ServePage(args []string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if len(paths) == 0 {
|
||||||
|
fmt.Println("No supported files found in provided paths. Exiting.")
|
||||||
|
os.Exit(0)
|
||||||
|
}
|
||||||
|
|
||||||
Regexes := &Regexes{
|
Regexes := &Regexes{
|
||||||
filename: regexp.MustCompile(`(.+)([0-9]{3})(\..+)`),
|
filename: regexp.MustCompile(`(.+)([0-9]{3})(\..+)`),
|
||||||
alphanumeric: regexp.MustCompile(`^[a-zA-Z0-9]*$`),
|
alphanumeric: regexp.MustCompile(`^[a-zA-Z0-9]*$`),
|
||||||
|
|
Loading…
Reference in New Issue