aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-02-20 19:49:06 +0100
committerMartin Polden <mpolden@mpolden.no>2020-02-20 19:49:06 +0100
commit6485858f7a3609947e0e8c7eb34e6c2ca6e949ba (patch)
tree22184f1c08e7ea401270b303f37fdaa0d00b9690
parentc6ff38e972be65a2c47b48d2b4e3397c9dd35e2f (diff)
Remove github.com/pkg/errors dependency
-rw-r--r--go.mod1
-rw-r--r--go.sum12
-rw-r--r--rar/rar.go22
-rw-r--r--watcher/config.go9
-rw-r--r--watcher/watcher.go10
5 files changed, 20 insertions, 34 deletions
diff --git a/go.mod b/go.mod
index 0b3b8d4..5929e11 100644
--- a/go.mod
+++ b/go.mod
@@ -6,7 +6,6 @@ require (
github.com/jessevdk/go-flags v1.4.0
github.com/mpolden/sfv v0.9.0
github.com/nwaples/rardecode v1.0.0
- github.com/pkg/errors v0.8.1
github.com/rjeczalik/notify v0.9.2
golang.org/x/sys v0.0.0-20190124100055-b90733256f2e // indirect
)
diff --git a/go.sum b/go.sum
index 7e3cf44..c13b681 100644
--- a/go.sum
+++ b/go.sum
@@ -1,23 +1,11 @@
github.com/jessevdk/go-flags v1.4.0 h1:4IU2WS7AumrZ/40jfhf4QVDMsQwqA7VEHozFRrGARJA=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
-github.com/mpolden/sfv v0.0.0-20170518165834-734c084bf4af h1:vZy1nVKN6LXutNaFTjCoxXjgE1Fm6Qkj2Rt278Kim40=
-github.com/mpolden/sfv v0.0.0-20170518165834-734c084bf4af/go.mod h1:EymWriacbRB9ZKQ21Vj+ahcIV8aq8G0FNluX6UNCcVk=
github.com/mpolden/sfv v0.9.0 h1:POHC8Js30xxOgMvgNLUEkJZh2fhOtx5NwK1pj7g9VvQ=
github.com/mpolden/sfv v0.9.0/go.mod h1:EymWriacbRB9ZKQ21Vj+ahcIV8aq8G0FNluX6UNCcVk=
-github.com/nwaples/rardecode v0.0.0-20171029023500-e06696f847ae h1:UF9xsJn7AeQ72TCus3eRO1lh08Id3AoF37vl+qigL/w=
-github.com/nwaples/rardecode v0.0.0-20171029023500-e06696f847ae/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
github.com/nwaples/rardecode v1.0.0 h1:r7vGuS5akxOnR4JQSkko62RJ1ReCMXxQRPtxsiFMBOs=
github.com/nwaples/rardecode v1.0.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
-github.com/pkg/errors v0.8.0 h1:WdK/asTD0HN+q6hsWO3/vpuAkAr+tw6aNJNDFFf0+qw=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE=
-github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho=
github.com/rjeczalik/notify v0.9.2 h1:MiTWrPj55mNDHEiIX5YUSKefw/+lCQVoAFmD6oQm5w8=
github.com/rjeczalik/notify v0.9.2/go.mod h1:aErll2f0sUX9PXZnVNyeiObbmTlk5jnMoCa4QEjJeqM=
-golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789 h1:T8D7l6WB3tLu+VpKvw06ieD/OhBi1XpJmG1U/FtttZg=
-golang.org/x/sys v0.0.0-20180831094639-fa5fdf94c789/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180926160741-c2ed4eda69e7/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190124100055-b90733256f2e h1:3GIlrlVLfkoipSReOMNAgApI0ajnalyLa/EZHHca/XI=
golang.org/x/sys v0.0.0-20190124100055-b90733256f2e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
diff --git a/rar/rar.go b/rar/rar.go
index f6cb8b3..89b7a92 100644
--- a/rar/rar.go
+++ b/rar/rar.go
@@ -2,6 +2,7 @@ package rar
import (
"bytes"
+ "fmt"
"io"
"os"
"os/exec"
@@ -13,7 +14,6 @@ import (
"github.com/mpolden/sfv"
"github.com/nwaples/rardecode"
- "github.com/pkg/errors"
)
var rarPartRE = regexp.MustCompile(`\.part0*(\d+)\.rar$`)
@@ -64,7 +64,7 @@ func findFirstRAR(s *sfv.SFV) (string, error) {
return c.Path, nil
}
}
- return "", errors.Errorf("no rar found in %s", s.Path)
+ return "", fmt.Errorf("no rar found in %s", s.Path)
}
func chtimes(name string, header *rardecode.FileHeader) error {
@@ -77,7 +77,7 @@ func chtimes(name string, header *rardecode.FileHeader) error {
func unpack(filename string) error {
r, err := rardecode.OpenReader(filename, "")
if err != nil {
- return errors.Wrapf(err, "failed to open %s", filename)
+ return fmt.Errorf("failed to open %s: %w", filename, err)
}
dir := filepath.Dir(filename)
for {
@@ -110,7 +110,7 @@ func unpack(filename string) error {
// Unpack file
f, err := os.Create(name)
if err != nil {
- return errors.Wrapf(err, "failed to create file: %s", name)
+ return fmt.Errorf("failed to create file: %s: %w", name, err)
}
if _, err = io.Copy(f, r); err != nil {
return err
@@ -153,7 +153,7 @@ func cmdFrom(tmpl string, ev event) (*exec.Cmd, error) {
}
argv := strings.Split(b.String(), " ")
if len(argv) == 0 {
- return nil, errors.New("template compiled to empty command")
+ return nil, fmt.Errorf("template compiled to empty command")
}
cmd := exec.Command(argv[0], argv[1:]...)
cmd.Dir = ev.Dir
@@ -171,7 +171,7 @@ func runCmd(command string, e event) error {
var stderr bytes.Buffer
cmd.Stderr = &stderr
if err := cmd.Run(); err != nil {
- return errors.Wrapf(err, "stderr: %q", stderr.String())
+ return fmt.Errorf("stderr: %q: %w", stderr.String(), err)
}
return nil
}
@@ -206,21 +206,21 @@ func (h *Handler) Handle(name, postCommand string, removeRARs bool) error {
}
passed, total, err := h.verify(ev.sfv)
if err != nil {
- return errors.Wrapf(err, "verification failed: %s", ev.Dir)
+ return fmt.Errorf("verification failed: %s: %w", ev.Dir, err)
}
if passed != total {
- return errors.Errorf("incomplete: %s: %d/%d files", ev.Dir, passed, total)
+ return fmt.Errorf("incomplete: %s: %d/%d files", ev.Dir, passed, total)
}
if err := unpack(ev.Name); err != nil {
- return errors.Wrapf(err, "unpacking failed: %s", ev.Dir)
+ return fmt.Errorf("unpacking failed: %s: %w", ev.Dir, err)
}
if removeRARs {
if err := h.remove(ev.sfv); err != nil {
- return errors.Wrapf(err, "removal failed: %s", ev.Dir)
+ return fmt.Errorf("removal failed: %s: %w", ev.Dir, err)
}
}
if err := runCmd(postCommand, ev); err != nil {
- return errors.Wrapf(err, "post-process command failed: %s", ev.Dir)
+ return fmt.Errorf("post-process command failed: %s: %w", ev.Dir, err)
}
return nil
}
diff --git a/watcher/config.go b/watcher/config.go
index a8e5c2b..55d0d34 100644
--- a/watcher/config.go
+++ b/watcher/config.go
@@ -2,14 +2,13 @@ package watcher
import (
"encoding/json"
+ "fmt"
"io"
"io/ioutil"
"os"
"os/exec"
"path/filepath"
"strings"
-
- "github.com/pkg/errors"
)
type Config struct {
@@ -33,7 +32,7 @@ func (p *Path) match(name string) (bool, error) {
for _, pattern := range p.Patterns {
matched, err := filepath.Match(pattern, name)
if err != nil {
- return false, errors.Wrap(err, pattern)
+ return false, fmt.Errorf("%s: %w", pattern, err)
}
if matched {
return true, nil
@@ -113,10 +112,10 @@ func (c *Config) validate() error {
return err
}
if !fi.IsDir() {
- return errors.Errorf("not a directory: %s", p.Name)
+ return fmt.Errorf("not a directory: %s", p.Name)
}
if p.MinDepth > p.MaxDepth {
- return errors.New("min depth must be <= max depth")
+ return fmt.Errorf("min depth must be <= max depth")
}
if _, err := p.match("foo.bar"); err != nil {
return err
diff --git a/watcher/watcher.go b/watcher/watcher.go
index 7a87a21..9df1fe4 100644
--- a/watcher/watcher.go
+++ b/watcher/watcher.go
@@ -1,6 +1,7 @@
package watcher
import (
+ "fmt"
"os"
"os/signal"
"sync"
@@ -11,7 +12,6 @@ import (
"log"
"github.com/mpolden/unp/pathutil"
- "github.com/pkg/errors"
"github.com/rjeczalik/notify"
)
@@ -33,21 +33,21 @@ type Watcher struct {
func (w *Watcher) handle(name string) error {
p, ok := w.config.findPath(name)
if !ok {
- return errors.Errorf("no configured path found: %s", name)
+ return fmt.Errorf("no configured path found: %s", name)
}
if p.SkipHidden && pathutil.ContainsHidden(name) {
- return errors.Errorf("hidden parent dir or file: %s", name)
+ return fmt.Errorf("hidden parent dir or file: %s", name)
}
depth := pathutil.Depth(name)
if !p.validDepth(depth) {
- return errors.Errorf("incorrect depth: %s depth=%d min=%d max=%d",
+ return fmt.Errorf("incorrect depth: %s depth=%d min=%d max=%d",
name, depth, p.MinDepth, p.MaxDepth)
}
if match, err := p.match(filepath.Base(name)); !match {
if err != nil {
return err
}
- return errors.Errorf("no match found: %s", name)
+ return fmt.Errorf("no match found: %s", name)
}
return w.handler.Handle(name, p.PostCommand, p.Remove)
}