diff options
Diffstat (limited to 'cmd/booktopipeline/main.go')
-rw-r--r-- | cmd/booktopipeline/main.go | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/cmd/booktopipeline/main.go b/cmd/booktopipeline/main.go index b4f4d99..ee2ef47 100644 --- a/cmd/booktopipeline/main.go +++ b/cmd/booktopipeline/main.go @@ -7,6 +7,7 @@ package main import ( + "context" "flag" "fmt" "log" @@ -18,7 +19,7 @@ import ( "rescribe.xyz/bookpipeline/internal/pipeline" ) -const usage = `Usage: booktopipeline [-c conn] [-t training] [-prebinarised] [-notbinarised] [-v] bookdir [bookname] +const usage = `Usage: booktopipeline [-c conn] [-t training] [-prebinarised] [-notbinarised] [-nowipe] [-v] bookdir [bookname] Uploads the book in bookdir to the S3 'inprogress' bucket and adds it to the 'preprocess' or 'wipeonly' SQS queue. The queue to send to is @@ -45,6 +46,7 @@ func main() { conntype := flag.String("c", "aws", "connection type ('aws' or 'local')") wipeonly := flag.Bool("prebinarised", false, "Prebinarised: only preprocessing will be to wipe") dobinarise := flag.Bool("notbinarised", false, "Not binarised: all preprocessing will be done including binarisation") + nowipe := flag.Bool("nowipe", false, "No wipe: Disable wiping as part of preprocessing") training := flag.String("t", "", "Training to use (training filename without the .traineddata part)") flag.Usage = func() { @@ -65,6 +67,8 @@ func main() { bookname = filepath.Base(bookdir) } + var ctx context.Context + if *verbose { verboselog = log.New(os.Stdout, "", log.LstdFlags) } else { @@ -86,7 +90,7 @@ func main() { log.Fatalln("Failed to set up cloud connection:", err) } - qid := pipeline.DetectQueueType(bookdir, conn) + qid := pipeline.DetectQueueType(bookdir, conn, false) // Flags set override the queue selection if *wipeonly { @@ -95,9 +99,12 @@ func main() { if *dobinarise { qid = conn.PreQueueId() } + if *nowipe { + qid = conn.PreNoWipeQueueId() + } verboselog.Println("Checking that all images are valid in", bookdir) - err = pipeline.CheckImages(bookdir) + err = pipeline.CheckImages(ctx, bookdir) if err != nil { log.Fatalln(err) } @@ -112,7 +119,7 @@ func main() { } verboselog.Println("Uploading all images are valid in", bookdir) - err = pipeline.UploadImages(bookdir, bookname, conn) + err = pipeline.UploadImages(ctx, bookdir, bookname, conn) if err != nil { log.Fatalln(err) } @@ -128,8 +135,10 @@ func main() { var qname string if qid == conn.PreQueueId() { qname = "preprocess" - } else { + } else if qid == conn.WipeQueueId() { qname = "wipeonly" + } else { + qname = "nowipe" } fmt.Println("Uploaded book to queue", qname) |