Skip to content

Commit

Permalink
Try to go on if PdfPageNum returns 0 pages
Browse files Browse the repository at this point in the history
  • Loading branch information
tgulacsi committed Jul 9, 2021
1 parent 8efe5b2 commit 4ce184d
Show file tree
Hide file tree
Showing 6 changed files with 16 additions and 7 deletions.
4 changes: 0 additions & 4 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
linters-settings:
maligned:
suggest-new: true

linters:
enable:
- maligned
- interfacer
- dupl
- goconst
- misspell
Expand Down
13 changes: 10 additions & 3 deletions converter/pdf.go
Original file line number Diff line number Diff line change
Expand Up @@ -117,12 +117,11 @@ func PdfSplit(ctx context.Context, srcfn string) (filenames []string, err error)
if err = ctx.Err(); err != nil {
return nil, err
}
if n, e := PdfPageNum(ctx, srcfn); err != nil {
if n, e := PdfPageNum(ctx, srcfn); e != nil {
err = fmt.Errorf("cannot determine page number of %s: %w", srcfn, e)
return
} else if n == 0 {
err = errors.New("0 pages in " + srcfn)
return
Log("msg", "0 pages", "file", srcfn)
} else if n == 1 {
filenames = append(filenames, srcfn)
return
Expand Down Expand Up @@ -402,6 +401,9 @@ func PdfClean(ctx context.Context, fn string) (err error) {
err = call(ctx, cleaner, "clean", "-ggg", fn, fn+"-cleaned.pdf")
}
if err != nil {
if errS := err.Error(); strings.Contains(errS, " password ") || strings.Contains(errS, " password:") {
err = fmt.Errorf("%v: %w", err, ErrPasswordProtected)
}
return fmt.Errorf("clean with %s: %w", cleaner, err)
}
cleaned = true
Expand Down Expand Up @@ -461,6 +463,8 @@ func execute(cmd *exec.Cmd) error {
return nil
}

var ErrPasswordProtected = errors.New("password protected")

func xToX(ctx context.Context, destfn, srcfn string, tops bool) (err error) {
var gsOpts []string
if tops {
Expand All @@ -477,6 +481,9 @@ func xToX(ctx context.Context, destfn, srcfn string, tops bool) (err error) {
}

if err = call(ctx, *ConfGs, gsOpts...); err != nil {
if strings.Contains(err.Error(), " password ") {
err = fmt.Errorf("%+v: %w", err, ErrPasswordProtected)
}
return fmt.Errorf("converting %s to %s with %s: %w",
srcfn, destfn, *ConfGs, err)
}
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,12 @@ require (
github.com/VictoriaMetrics/metrics v1.15.2
github.com/benbjohnson/clock v1.1.0 // indirect
github.com/coreos/go-systemd/v22 v22.2.0
github.com/disintegration/gift v1.2.1 // indirect
github.com/dsnet/compress v0.0.1 // indirect
github.com/frankban/quicktest v1.11.3 // indirect
github.com/gabriel-vasile/mimetype v1.1.2
github.com/go-kit/kit v0.10.0
github.com/go-stack/stack v1.8.0 // indirect
github.com/golang/snappy v0.0.3 // indirect
github.com/google/renameio v1.0.0
github.com/h2non/filetype v1.1.1
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,8 @@ github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUn
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
github.com/dgryski/go-linebreak v0.0.0-20180812204043-d8f37254e7d3 h1:/RVgXZkKAnmlRC/625cvago9x6ROe7fNj7cCdGc4ICw=
github.com/dgryski/go-linebreak v0.0.0-20180812204043-d8f37254e7d3/go.mod h1:FDHdQKtI1NtvxIYsG/y+ymRaIQIsp+LRSTGl7eBKQEU=
github.com/disintegration/gift v1.2.1 h1:Y005a1X4Z7Uc+0gLpSAsKhWi4qLtsdEcMIbbdvdZ6pc=
github.com/disintegration/gift v1.2.1/go.mod h1:Jh2i7f7Q2BM7Ezno3PhfezbR1xpUg9dUg3/RlKGr4HI=
github.com/dsnet/compress v0.0.1 h1:PlZu0n3Tuv04TzpfPbrnI0HW/YwodEXDS+oPKahKF0Q=
github.com/dsnet/compress v0.0.1/go.mod h1:Aw8dCMJ7RioblQeTqt88akK31OvO8Dhf5JflhBbQEHo=
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
Expand Down
1 change: 1 addition & 0 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -200,6 +200,7 @@ func Main() error {
})
}
for _, l := range listeners {
l := l
grp.Go(func() error {
logger.Log("msg", "listening", "listener", l)
s := newHTTPServer("", savereq)
Expand Down
1 change: 1 addition & 0 deletions main_posix.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
//go:build !windows
// +build !windows

// Copyright 2017 The Agostle Authors. All rights reserved.
Expand Down

0 comments on commit 4ce184d

Please sign in to comment.