From 7807cae93dadf4772828d465b0a367095e4dcd46 Mon Sep 17 00:00:00 2001 From: Nick White Date: Wed, 9 Oct 2019 20:51:43 +0100 Subject: Make confgraph and graph in general more resilient to bad input --- cmd/confgraph/main.go | 5 ++++- graph.go | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/cmd/confgraph/main.go b/cmd/confgraph/main.go index 9b158f3..ed5ce93 100644 --- a/cmd/confgraph/main.go +++ b/cmd/confgraph/main.go @@ -22,6 +22,9 @@ func walker(confs *[]*bookpipeline.Conf) filepath.WalkFunc { } avg, err := hocr.GetAvgConf(path) if err != nil { + if err.Error() == "No words found" { + return nil + } return err } c := bookpipeline.Conf{ @@ -35,7 +38,7 @@ func walker(confs *[]*bookpipeline.Conf) filepath.WalkFunc { func main() { flag.Usage = func() { - fmt.Fprintln(flag.CommandLine.Output(), "Usage: bookpipeline hocrdir graph.png") + fmt.Fprintln(flag.CommandLine.Output(), "Usage: confgraph hocrdir graph.png") flag.PrintDefaults() } flag.Parse() diff --git a/graph.go b/graph.go index 955abbd..1604d06 100644 --- a/graph.go +++ b/graph.go @@ -1,6 +1,7 @@ package bookpipeline import ( + "errors" "fmt" "io" "path/filepath" @@ -61,6 +62,10 @@ func Graph(confs map[string]*Conf, bookname string, w io.Writer) error { } sort.Slice(graphconf, func(i, j int) bool { return graphconf[i].Pgnum < graphconf[j].Pgnum }) + if len(graphconf) == 0 { + return errors.New("No valid confidences") + } + // Create main xvalues and yvalues, annotations and ticks var xvalues, yvalues []float64 var annotations []chart.Value2 -- cgit v1.2.1-24-ge1ad