diff options
author | Nick White <git@njw.name> | 2022-01-10 16:15:52 +0000 |
---|---|---|
committer | Nick White <git@njw.name> | 2022-01-10 16:15:52 +0000 |
commit | 436551c5e6f9d96f82fdf31e01e422b2a937b6ee (patch) | |
tree | 00e0a152ef907ff9a073d7817a6ab5753e3858c4 /internal/pipeline | |
parent | dc7b313c504d68165f1d1b085a6ce94eb6e8b55f (diff) |
internal/pipeline: Have DownloadPdfs() try to download all PDFs, but only return an error if none downloaded, as there are times when the colour PDF will not exist, which is fine
Diffstat (limited to 'internal/pipeline')
-rw-r--r-- | internal/pipeline/get.go | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/internal/pipeline/get.go b/internal/pipeline/get.go index e9bb8b1..5e43c2b 100644 --- a/internal/pipeline/get.go +++ b/internal/pipeline/get.go @@ -66,14 +66,22 @@ func DownloadBestPngs(dir string, name string, conn Downloader) error { } func DownloadPdfs(dir string, name string, conn Downloader) error { + anydone := false + errmsg := "" for _, suffix := range []string{".colour.pdf", ".binarised.pdf"} { key := filepath.Join(name, name+suffix) fn := filepath.Join(dir, name+suffix) err := conn.Download(conn.WIPStorageId(), key, fn) if err != nil { - return fmt.Errorf("Failed to download PDF %s: %v", key, err) + _ = os.Remove(fn) + errmsg += fmt.Sprintf("Failed to download PDF %s: %v\n", key, err) + } else { + anydone = true } } + if anydone == false { + return fmt.Errorf("No PDFs could be downloaded, error(s): %v", errmsg) + } return nil } |