From 8468d6b83c088e455cba64535499407854f50560 Mon Sep 17 00:00:00 2001 From: Miguel-Dorta Date: Mon, 18 Nov 2019 10:58:05 +0000 Subject: [PATCH] Refactor --- .goreleaser.yml | 6 +-- .../main.go | 0 cmd/generic_listLargeDirs/main.go | 54 +++++++++++++++++++ .../main_test.go} | 0 cmd/listLargeDirs/listLargeDirs.go | 52 ------------------ 5 files changed, 57 insertions(+), 55 deletions(-) rename cmd/{sort_APPIP01WV4 => APPIP01WV4_sort}/main.go (100%) create mode 100644 cmd/generic_listLargeDirs/main.go rename cmd/{listLargeDirs/listLargeDirs_test.go => generic_listLargeDirs/main_test.go} (100%) delete mode 100644 cmd/listLargeDirs/listLargeDirs.go diff --git a/.goreleaser.yml b/.goreleaser.yml index 5a4b8ce..665d713 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -100,9 +100,9 @@ builds: - 5 - 6 - 7 - - id: sort_APPIP01WV4 - main: cmd/sort_APPIP01WV4/main.go - binary: bin/sort_APPIP01WV4 + - id: APPIP01WV4_sort + main: cmd/APPIP01WV4_sort/main.go + binary: bin/APPIP01WV4_sort ldflags: -X github.com/Miguel-Dorta/surveillance-cameras/internal.Version={{.Version}} goos: - linux diff --git a/cmd/sort_APPIP01WV4/main.go b/cmd/APPIP01WV4_sort/main.go similarity index 100% rename from cmd/sort_APPIP01WV4/main.go rename to cmd/APPIP01WV4_sort/main.go diff --git a/cmd/generic_listLargeDirs/main.go b/cmd/generic_listLargeDirs/main.go new file mode 100644 index 0000000..778f662 --- /dev/null +++ b/cmd/generic_listLargeDirs/main.go @@ -0,0 +1,54 @@ +package main + +import ( + "fmt" + "github.com/Miguel-Dorta/logolang" + "github.com/Miguel-Dorta/surveillance-cameras/internal" + "github.com/Miguel-Dorta/surveillance-cameras/pkg/utils" + "os" +) + +const USAGE = "[path-optional]" + +var log *logolang.Logger + +func init() { + log = logolang.NewLogger() + log.Color = false + log.Level = logolang.LevelInfo + log.Formatter = func(levelName, msg string) string { + if levelName != "ERROR" { + return msg + } + return fmt.Sprintf("[%s] %s", levelName, msg) + } +} + +func getArgs() (path string) { + internal.CheckSpecialArgs(os.Args, USAGE) + if len(os.Args) > 2 { + log.Criticalf("Usage: %s %s (use -h for help)", os.Args[0], USAGE) + } + + path = "." + if len(os.Args) == 2 { + path = os.Args[1] + } + return path +} + +func main() { + path := getArgs() + + errFound := false + if err := utils.IterateDir(path, func(f os.FileInfo) { + log.Infof("%s @ IsDir? %t", f.Name(), f.IsDir()) + }); err != nil { + log.Errorf("error listing path: %s", err) + errFound = true + } + + if errFound { + os.Exit(1) + } +} diff --git a/cmd/listLargeDirs/listLargeDirs_test.go b/cmd/generic_listLargeDirs/main_test.go similarity index 100% rename from cmd/listLargeDirs/listLargeDirs_test.go rename to cmd/generic_listLargeDirs/main_test.go diff --git a/cmd/listLargeDirs/listLargeDirs.go b/cmd/listLargeDirs/listLargeDirs.go deleted file mode 100644 index c6e46a9..0000000 --- a/cmd/listLargeDirs/listLargeDirs.go +++ /dev/null @@ -1,52 +0,0 @@ -package main - -import ( - "github.com/Miguel-Dorta/surveillance-cameras/internal" - "github.com/Miguel-Dorta/surveillance-cameras/pkg/utils" - "log" - "os" -) - -const USAGE = "[path-optional]" - -var ( - logOut = log.New(os.Stdout, "", 0) - logErr = log.New(os.Stderr, "[ERROR]", 0) -) - -func getArgs() (path string) { - internal.CheckSpecialArgs(os.Args, USAGE) - if len(os.Args) > 2 { - logOut.Fatalf("Usage: %s %s (use -h for help)\n", os.Args[0], USAGE) - } - - if len(os.Args) == 2 { - path = os.Args[1] - } else { - var err error - path, err = os.Getwd() - if err != nil { - logErr.Fatalf("Cannot get working directory: %s\nTry using ./listLargeDirs \n", err) - } - } - return -} - -func main() { - path := getArgs() - - errs := ls(path) - if len(errs) != 0 { - for _, err := range errs { - logErr.Println(err) - } - os.Exit(1) - } -} - -func ls(path string) []error { - return utils.ForEachInDirectory(path, func(fi os.FileInfo) error { - logOut.Printf("%s @ IsDir? %t\n", fi.Name(), fi.IsDir()) - return nil - }) -}