From 8a9bcbf62edf25c7dfcb74bb4fda1dbd746149d9 Mon Sep 17 00:00:00 2001 From: Jan Bader Date: Sat, 21 Nov 2020 22:12:31 +0100 Subject: [PATCH] Move funcs to other file --- file.go | 39 +++++++++++++++++++++++++++++++++++++++ main.go | 36 ++---------------------------------- 2 files changed, 41 insertions(+), 34 deletions(-) create mode 100644 file.go diff --git a/file.go b/file.go new file mode 100644 index 0000000..d637d08 --- /dev/null +++ b/file.go @@ -0,0 +1,39 @@ +package main + +import ( + "os" + "path/filepath" + "strconv" +) + +func remove(path string) { + if !*force { + return + } + + if *moveToFolder == "" { + os.Remove(path) + return + } + + moveButDontOvewrite(path, *moveToFolder) +} + +func moveButDontOvewrite(path string, targetPath string) { + num := 0 + + filename := filepath.Base(path) + + target := filepath.Join(targetPath, filename) + + for { + _, err := os.Stat(target) + if os.IsNotExist(err) { + os.Rename(path, target) + return + } + + target = filepath.Join(targetPath, filename+"."+strconv.Itoa(num)) + num++ + } +} diff --git a/main.go b/main.go index ea99592..8e90677 100644 --- a/main.go +++ b/main.go @@ -23,38 +23,6 @@ var moveToFolder = flag.String("move-files", "", "Move files to instead o var force = flag.Bool("force", false, "Actually delete files. Without this options, the files to be deleted are only printed") var verbose = flag.Bool("verbose", false, "Output additional information") -func delete(path string) { - if !*force { - return - } - - if *moveToFolder == "" { - os.Remove(path) - return - } - - moveButDontOvewrite(path, *moveToFolder) -} - -func moveButDontOvewrite(path string, targetPath string) { - num := 0 - - filename := filepath.Base(path) - - target := filepath.Join(targetPath, filename) - - for { - _, err := os.Stat(target) - if os.IsNotExist(err) { - os.Rename(path, target) - return - } - - target = filepath.Join(targetPath, filename+"."+strconv.Itoa(num)) - num++ - } -} - func main() { flag.Parse() @@ -98,7 +66,7 @@ func main() { if strings.HasPrefix(filepath.Clean(file), deleteIn) { fmt.Println("Would delete ", file) if *force { - delete(file) + remove(file) } } } @@ -138,7 +106,7 @@ func main() { } if *force { - delete(file) + remove(file) } }