From 8e5ad7b2ccb59d29adf520e17767f77eea23e6c2 Mon Sep 17 00:00:00 2001 From: Nick White Date: Tue, 22 Jun 2021 14:04:24 +0100 Subject: rescribe: Add go generate command to download the needed files to embed --- cmd/rescribe/getembeds.go | 55 +++++++++++++++++++++++++++++++++++++++++++++++ cmd/rescribe/main.go | 2 ++ 2 files changed, 57 insertions(+) create mode 100644 cmd/rescribe/getembeds.go (limited to 'cmd') diff --git a/cmd/rescribe/getembeds.go b/cmd/rescribe/getembeds.go new file mode 100644 index 0000000..b2b5392 --- /dev/null +++ b/cmd/rescribe/getembeds.go @@ -0,0 +1,55 @@ +// Copyright 2021 Nick White. +// Use of this source code is governed by the GPLv3 +// license that can be found in the LICENSE file. + +// +build ignore + +// this downloads the needed files to embed into the binary, +// and is run by `go generate` +package main + +import ( + "fmt" + "io" + "os" + "path" + "net/http" +) + +func dl(url string) error { + fn := path.Base(url) + + f, err := os.Create(fn) + if err != nil { + return fmt.Errorf("Error creating file %s: %v", fn, err) + } + defer f.Close() + + r, err := http.Get(url) + if err != nil { + return fmt.Errorf("Error getting url %s: %v", url, err) + } + defer r.Body.Close() + + _, err = io.Copy(f, r.Body) + if err != nil { + return fmt.Errorf("Error saving %s: %v", fn, err) + } + + return nil +} + +func main() { + urls := []string { + "https://rescribe.xyz/rescribe/embeds/tessdata.20210622.zip", + "https://rescribe.xyz/rescribe/embeds/tesseract-w32-v5.0.0-alpha.20210506.zip", + } + for _, v := range urls { + fmt.Printf("Downloading %s\n", v) + err := dl(v) + if err != nil { + fmt.Printf("Error downloading %s: %v\n", v, err) + os.Exit(1) + } + } +} diff --git a/cmd/rescribe/main.go b/cmd/rescribe/main.go index 3325282..c000190 100644 --- a/cmd/rescribe/main.go +++ b/cmd/rescribe/main.go @@ -7,6 +7,8 @@ // a single book by the pipeline into one command. package main +//go:generate go run getembeds.go + import ( "archive/zip" "bytes" -- cgit v1.2.1-24-ge1ad