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
|
|
|
}
|
|
|
|
|
}
|