timetracker/cmd/main.go

35 lines
766 B
Go
Raw Permalink Normal View History

2024-02-27 19:36:52 +01:00
package main
import (
"flag"
2024-03-25 10:02:24 +01:00
"os"
2024-02-27 19:36:52 +01:00
"ronnyfriedland/timetracker/v2/internal/cli"
)
func main() {
2025-03-19 20:51:09 +01:00
mode, configPath, archiveData := parseArguments()
2024-03-25 10:02:24 +01:00
if mode == "" {
os.Exit(0)
} else if mode == "cli" {
2025-03-19 20:51:09 +01:00
cli.Run(&configPath, &archiveData)
2024-03-25 10:02:24 +01:00
os.Exit(0)
} else {
os.Exit(1)
}
}
2025-03-19 20:51:09 +01:00
func parseArguments() (string, string, bool) {
2024-02-27 19:36:52 +01:00
mode := flag.String("mode", "cli", "the application mode, available: cli")
configPath := flag.String("configpath", "/var/lib/timetracker", "the config path")
2025-03-19 20:51:09 +01:00
archiveData := flag.Bool("archivedata", false, "flag to enable data archiving")
2024-03-25 10:02:24 +01:00
help := flag.Bool("help", false, "print this help message")
2024-02-27 19:36:52 +01:00
flag.Parse()
2024-03-25 10:02:24 +01:00
if *help {
flag.PrintDefaults()
2025-03-19 20:51:09 +01:00
return "", "", false
2024-03-25 10:02:24 +01:00
} else {
2025-03-19 20:51:09 +01:00
return *mode, *configPath, *archiveData
2024-02-27 19:36:52 +01:00
}
}