Tests / Test (push) Skipped
Tests / OCR (tesseract fixture) (push) Skipped
Tests / Release (semver) (push) Skipped
stdlib flag dropped --hop after the query. One wrapper in internal/cli, source <(./bin/cli/complete.go bash). Gitea #34.
36 lines
626 B
Go
36 lines
626 B
Go
package ocr
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/eSlider/2dph/internal/cli"
|
|
"github.com/integrii/flaggy"
|
|
)
|
|
|
|
type CLI struct {
|
|
Path string
|
|
}
|
|
|
|
func Parser() *flaggy.Parser {
|
|
c := CLI{}
|
|
return Bind(&c)
|
|
}
|
|
|
|
func Bind(c *CLI) *flaggy.Parser {
|
|
p := cli.New("mail-ocr")
|
|
p.Description = "tesseract eng+deu on image or scanned PDF"
|
|
p.AddPositionalValue(&c.Path, "file", 1, false, "image or pdf")
|
|
return p
|
|
}
|
|
|
|
func ParseArgs(args []string) (CLI, error) {
|
|
var c CLI
|
|
if err := cli.Parse(Bind(&c), args); err != nil {
|
|
return c, err
|
|
}
|
|
if c.Path == "" {
|
|
return c, fmt.Errorf("usage: bin/mail/ocr.go <image|pdf>")
|
|
}
|
|
return c, nil
|
|
}
|