♻️ Move cli code to internal

This commit is contained in:
Dan Jones 2024-12-03 15:22:35 -06:00
commit 64b2242567
2 changed files with 46 additions and 12 deletions

View file

@ -9,28 +9,23 @@ import (
e "codeberg.org/danjones000/utils/cli/err"
"codeberg.org/danjones000/utils/cli/spin"
"codeberg.org/danjones000/utils/convids"
"github.com/spf13/pflag"
ccli "codeberg.org/danjones000/utils/internal/cli/convids"
)
const dataPath = "shows.yml"
func main() {
loop := pflag.BoolP("loop", "l", false, "Loop")
help := pflag.BoolP("help", "h", false, "Get Help")
dryRun := pflag.BoolP("dry-run", "d", false, "Do a dry run")
pflag.Parse()
if *help {
pflag.Usage()
os.Exit(2)
flags, err := ccli.ParseFlags(os.Args[0], os.Args[1:])
e.HandleErr(err)
if *ccli.Help {
flags.Usage()
}
ctx, done := c.SelfCancelingContextFromBackground()
defer done()
var walker convids.ShowWalker
if *dryRun {
*loop = false
if *ccli.DryRun {
walker = convids.DryRun(os.Stdout)
} else {
gs := convids.GetShow(ctx)
@ -52,7 +47,7 @@ func main() {
groupPrinter := convids.PrintGroupName(os.Stdout)
if *loop {
if *ccli.Loop {
fmt.Println("looping")
for err == nil {
err = convids.WalkFiles(data, false, groupPrinter, walker)

View file

@ -0,0 +1,39 @@
package convids
import (
"fmt"
"github.com/spf13/pflag"
)
var Help *bool
var Loop *bool
var DryRun *bool
func GetFlags(name string) *pflag.FlagSet {
flags := pflag.NewFlagSet(name, pflag.ExitOnError)
Help = flags.BoolP("help", "h", false, "Get Help")
Loop = flags.BoolP("loop", "l", false, "Loop")
DryRun = flags.BoolP("dry-run", "d", false, "Do a dry run (won't loop)")
flags.Usage = func() {
fmt.Printf("Usage of %s:\n", name)
flags.PrintDefaults()
}
return flags
}
func ParseFlags(name string, args []string) (*pflag.FlagSet, error) {
flags := GetFlags(name)
err := flags.Parse(args)
if err != nil {
return nil, err
}
if *DryRun {
flags.Set("loop", "false")
}
return flags, nil
}