diff options
Diffstat (limited to 'gemfeed/aitest')
| -rw-r--r-- | gemfeed/aitest/cmd/aitest/main.go | 32 | ||||
| -rw-r--r-- | gemfeed/aitest/go.mod | 3 | ||||
| -rw-r--r-- | gemfeed/aitest/internal/count.go | 21 | ||||
| -rw-r--r-- | gemfeed/aitest/internal/version.go | 7 |
4 files changed, 63 insertions, 0 deletions
diff --git a/gemfeed/aitest/cmd/aitest/main.go b/gemfeed/aitest/cmd/aitest/main.go new file mode 100644 index 00000000..130cfe0d --- /dev/null +++ b/gemfeed/aitest/cmd/aitest/main.go @@ -0,0 +1,32 @@ +package main + +import ( + "flag" + "fmt" + "os" + + "aitest/internal" +) + +func main() { + var versionFlag bool + flag.BoolVar(&versionFlag, "v", false, "print version") + dir := flag.String("dir", "", "directory to count files in") + flag.Parse() + + if versionFlag { + fmt.Println(internal.GetVersion()) + return + } + + if *dir != "" { + fileCount, err := internal.CountFiles(*dir) + if err != nil { + fmt.Fprintf(os.Stderr, "Error counting files: %v\n", err) + os.Exit(1) + } + fmt.Printf("Number of files in directory %s: %d\n", *dir, fileCount) + } else { + fmt.Println("No directory specified. No count given.") + } +} diff --git a/gemfeed/aitest/go.mod b/gemfeed/aitest/go.mod new file mode 100644 index 00000000..8fac64ee --- /dev/null +++ b/gemfeed/aitest/go.mod @@ -0,0 +1,3 @@ +module aitest + +go 1.24 diff --git a/gemfeed/aitest/internal/count.go b/gemfeed/aitest/internal/count.go new file mode 100644 index 00000000..544ace17 --- /dev/null +++ b/gemfeed/aitest/internal/count.go @@ -0,0 +1,21 @@ +package internal + +import ( + "os" +) + +func CountFiles(dir string) (int, error) { + files, err := os.ReadDir(dir) + if err != nil { + return 0, err + } + + count := 0 + for _, file := range files { + if !file.IsDir() { + count++ + } + } + + return count, nil +} diff --git a/gemfeed/aitest/internal/version.go b/gemfeed/aitest/internal/version.go new file mode 100644 index 00000000..84fa6601 --- /dev/null +++ b/gemfeed/aitest/internal/version.go @@ -0,0 +1,7 @@ +package internal + +var Version = "0.0.0" + +func GetVersion() string { + return Version +} |
