Documentation

Overview

pipeline is a package used by the bookpipeline command, which handles the core functionality, using channels heavily to coordinate jobs. Note that it is considered an "internal" package, not intended for external use, and no guarantee is made of the stability of any interfaces provided.

Index

Constants

View Source
const HeartbeatSeconds = 60

Variables

This section is empty.

Functions

func Analyse

func Analyse(conn Pipeliner) func(chan string, chan string, chan error, *log.Logger)

func CheckImages

func CheckImages(dir string) error

func DetectQueueType

func DetectQueueType(dir string, conn Pipeliner) string

func DownloadAll

func DownloadAll(dir string, name string, conn Pipeliner) error

func DownloadAnalyses

func DownloadAnalyses(dir string, name string, conn Pipeliner) error

func DownloadBestPages

func DownloadBestPages(dir string, name string, conn Pipeliner, pluspngs bool) error

func DownloadPdfs

func DownloadPdfs(dir string, name string, conn Pipeliner) error

func GetMailSettings

func GetMailSettings() (mailSettings, error)

func Ocr

func Ocr(training string, tesscmd string) func(chan string, chan string, chan error, *log.Logger)

func OcrPage

func OcrPage(msg bookpipeline.Qmsg, conn Pipeliner, process func(chan string, chan string, chan error, *log.Logger), fromQueue string, toQueue string) error

OcrPage OCRs a page based on a message. It may make sense to roll this back into processBook (on which it is based) once working well.

func Preprocess

func Preprocess(thresholds []float64) func(chan string, chan string, chan error, *log.Logger)

func ProcessBook

func ProcessBook(msg bookpipeline.Qmsg, conn Pipeliner, process func(chan string, chan string, chan error, *log.Logger), match *regexp.Regexp, fromQueue string, toQueue string) error

func SaveLogs

func SaveLogs(conn Pipeliner, starttime int64, hostname string) error

func UploadImages

func UploadImages(dir string, bookname string, conn Pipeliner) error

func Wipe

func Wipe(towipe chan string, up chan string, errc chan error, logger *log.Logger)

Types

type Clouder

type Clouder interface {
	Init() error
	ListObjects(bucket string, prefix string) ([]string, error)
	Download(bucket string, key string, fn string) error
	Upload(bucket string, key string, path string) error
	CheckQueue(url string, timeout int64) (bookpipeline.Qmsg, error)
	AddToQueue(url string, msg string) error
	DelFromQueue(url string, handle string) error
	QueueHeartbeat(msg bookpipeline.Qmsg, qurl string, duration int64) (bookpipeline.Qmsg, error)
}

type MinPipeliner

type MinPipeliner interface {
	Pipeliner
	MinimalInit() error
}

type NullWriter

type NullWriter bool

null writer to enable non-verbose logging to be discarded

func (NullWriter) Write

func (w NullWriter) Write(p []byte) (n int, err error)

type Pipeliner

type Pipeliner interface {
	Clouder
	PreQueueId() string
	WipeQueueId() string
	OCRPageQueueId() string
	AnalyseQueueId() string
	WIPStorageId() string
	GetLogger() *log.Logger
	Log(v ...interface{})
}