17840: Deduplicate flag-parsing code.
[arvados.git] / services / keep-balance / main.go
index 49cb17dfa23d3fb475ece08d47f2cc6b0cdb9f28..8a95d389c8292f04c8479f0c21abdcf5c84932a3 100644 (file)
@@ -13,6 +13,7 @@ import (
        _ "net/http/pprof"
        "os"
 
+       "git.arvados.org/arvados.git/lib/cmd"
        "git.arvados.org/arvados.git/lib/config"
        "git.arvados.org/arvados.git/lib/service"
        "git.arvados.org/arvados.git/sdk/go/arvados"
@@ -58,14 +59,8 @@ func runCommand(prog string, args []string, stdin io.Reader, stdout, stderr io.W
        loader.SetupFlags(flags)
 
        munged := loader.MungeLegacyConfigArgs(logger, args, "-legacy-keepbalance-config")
-       err := flags.Parse(munged)
-       if err == flag.ErrHelp {
-               return 0
-       } else if err != nil {
-               return 2
-       } else if flags.NArg() != 0 {
-               fmt.Fprintf(stderr, "unrecognized command line arguments: %v", flags.Args())
-               return 2
+       if ok, code := cmd.ParseFlags(flags, prog, munged, "", stderr); !ok {
+               return code
        }
 
        if *dumpFlag {