diff --git a/cmd/cbconvert/go.mod b/cmd/cbconvert/go.mod index 89098e3..03852e6 100644 --- a/cmd/cbconvert/go.mod +++ b/cmd/cbconvert/go.mod @@ -5,7 +5,6 @@ go 1.23 require ( github.com/gen2brain/cbconvert v1.0.5-0.20241103182231-f57b2598f1f7 github.com/schollz/progressbar/v3 v3.13.1 - github.com/spf13/pflag v1.0.5 ) require ( diff --git a/cmd/cbconvert/go.sum b/cmd/cbconvert/go.sum index 59a1c0d..198b3e0 100644 --- a/cmd/cbconvert/go.sum +++ b/cmd/cbconvert/go.sum @@ -67,8 +67,6 @@ github.com/rivo/uniseg v0.3.4 h1:3Z3Eu6FGHZWSfNKJTOUiPatWwfc7DzJRU04jFUqJODw= github.com/rivo/uniseg v0.3.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/schollz/progressbar/v3 v3.13.1 h1:o8rySDYiQ59Mwzy2FELeHY5ZARXZTVJC7iHD6PEFUiE= github.com/schollz/progressbar/v3 v3.13.1/go.mod h1:xvrbki8kfT1fzWzBT/UZd9L6GA+jdL7HAgq2RFnO6fQ= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= diff --git a/cmd/cbconvert/main.go b/cmd/cbconvert/main.go index b287214..a6cde7c 100644 --- a/cmd/cbconvert/main.go +++ b/cmd/cbconvert/main.go @@ -2,6 +2,7 @@ package main import ( "bufio" + "flag" "fmt" "io" "os" @@ -12,7 +13,6 @@ import ( "github.com/gen2brain/cbconvert" pb "github.com/schollz/progressbar/v3" - flag "github.com/spf13/pflag" ) var appVersion string @@ -161,7 +161,6 @@ func parseFlags() (cbconvert.Options, []string) { var args []string convert := flag.NewFlagSet("convert", flag.ExitOnError) - convert.SortFlags = false convert.IntVar(&opts.Width, "width", 0, "Image width") convert.IntVar(&opts.Height, "height", 0, "Image height") convert.BoolVar(&opts.Fit, "fit", false, "Best fit for required width and height") @@ -184,7 +183,6 @@ func parseFlags() (cbconvert.Options, []string) { convert.BoolVar(&opts.Quiet, "quiet", false, "Hide console output") cover := flag.NewFlagSet("cover", flag.ExitOnError) - cover.SortFlags = false cover.IntVar(&opts.Width, "width", 0, "Image width") cover.IntVar(&opts.Height, "height", 0, "Image height") cover.BoolVar(&opts.Fit, "fit", false, "Best fit for required width and height") @@ -197,7 +195,6 @@ func parseFlags() (cbconvert.Options, []string) { cover.BoolVar(&opts.Quiet, "quiet", false, "Hide console output") thumbnail := flag.NewFlagSet("thumbnail", flag.ExitOnError) - thumbnail.SortFlags = false thumbnail.IntVar(&opts.Width, "width", 0, "Image width") thumbnail.IntVar(&opts.Height, "height", 0, "Image height") thumbnail.BoolVar(&opts.Fit, "fit", false, "Best fit for required width and height") @@ -209,7 +206,6 @@ func parseFlags() (cbconvert.Options, []string) { thumbnail.BoolVar(&opts.Quiet, "quiet", false, "Hide console output") meta := flag.NewFlagSet("meta", flag.ExitOnError) - meta.SortFlags = false meta.BoolVar(&opts.Cover, "cover", false, "Print cover name") meta.BoolVar(&opts.Comment, "comment", false, "Print zip comment") meta.StringVar(&opts.CommentBody, "comment-body", "", "Set zip comment") @@ -222,25 +218,34 @@ func parseFlags() (cbconvert.Options, []string) { fmt.Fprintf(os.Stderr, "Usage: %s [] [file1 dir1 ... fileOrDirN]\n\n", filepath.Base(os.Args[0])) fmt.Fprintf(os.Stderr, "\nCommands:\n") fmt.Fprintf(os.Stderr, "\n convert\n \tConvert archive or document\n\n") - convert.VisitAll(func(f *flag.Flag) { + order := []string{"width", "height", "fit", "format", "archive", "quality", "filter", "no-cover", "no-rgb", + "no-nonimage", "no-convert", "grayscale", "rotate", "brightness", "contrast", "suffix", "outdir", "size", "recursive", "quiet"} + for _, name := range order { + f := convert.Lookup(name) fmt.Fprintf(os.Stderr, " --%s\n \t", f.Name) fmt.Fprintf(os.Stderr, "%v (default %q)\n", f.Usage, f.DefValue) - }) + } fmt.Fprintf(os.Stderr, "\n cover\n \tExtract cover\n\n") - cover.VisitAll(func(f *flag.Flag) { + order = []string{"width", "height", "fit", "format", "quality", "filter", "outdir", "size", "recursive", "quiet"} + for _, name := range order { + f := cover.Lookup(name) fmt.Fprintf(os.Stderr, " --%s\n \t", f.Name) fmt.Fprintf(os.Stderr, "%v (default %q)\n", f.Usage, f.DefValue) - }) + } fmt.Fprintf(os.Stderr, "\n thumbnail\n \tExtract cover thumbnail (freedesktop spec.)\n\n") - thumbnail.VisitAll(func(f *flag.Flag) { + order = []string{"width", "height", "fit", "filter", "outdir", "outfile", "size", "recursive", "quiet"} + for _, name := range order { + f := thumbnail.Lookup(name) fmt.Fprintf(os.Stderr, " --%s\n \t", f.Name) fmt.Fprintf(os.Stderr, "%v (default %q)\n", f.Usage, f.DefValue) - }) + } fmt.Fprintf(os.Stderr, "\n meta\n \tCBZ metadata\n\n") - meta.VisitAll(func(f *flag.Flag) { + order = []string{"cover", "comment", "comment-body", "file-add", "file-remove"} + for _, name := range order { + f := meta.Lookup(name) fmt.Fprintf(os.Stderr, " --%s\n \t", f.Name) fmt.Fprintf(os.Stderr, "%v (default %q)\n", f.Usage, f.DefValue) - }) + } fmt.Fprintf(os.Stderr, "\n version\n \tPrint version\n\n") }