diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-02-20 19:49:06 +0100 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-02-20 19:49:06 +0100 |
commit | 6485858f7a3609947e0e8c7eb34e6c2ca6e949ba (patch) | |
tree | 22184f1c08e7ea401270b303f37fdaa0d00b9690 | |
parent | c6ff38e972be65a2c47b48d2b4e3397c9dd35e2f (diff) |
Remove github.com/pkg/errors dependency
-rw-r--r-- | go.mod | 1 | ||||
-rw-r--r-- | go.sum | 12 | ||||
-rw-r--r-- | rar/rar.go | 22 | ||||
-rw-r--r-- | watcher/config.go | 9 | ||||
-rw-r--r-- | watcher/watcher.go | 10 |
5 files changed, 20 insertions, 34 deletions
@@ -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 ) @@ -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= @@ -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) } |