dry run by default
This commit is contained in:
22
main.go
22
main.go
@@ -5,6 +5,7 @@ import (
|
|||||||
"encoding/json"
|
"encoding/json"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"path"
|
"path"
|
||||||
@@ -29,6 +30,7 @@ func main() {
|
|||||||
overridesS := flags.String("c", `{"title":"","season":"","episode":""}`, "overrides")
|
overridesS := flags.String("c", `{"title":"","season":"","episode":""}`, "overrides")
|
||||||
ind := flags.String("i", "/dev/null", "in dir")
|
ind := flags.String("i", "/dev/null", "in dir")
|
||||||
outd := flags.String("o", "/dev/null", "out dir")
|
outd := flags.String("o", "/dev/null", "out dir")
|
||||||
|
dry := flags.Bool("d", true, "dry run")
|
||||||
if err := flags.Parse(os.Args[1:]); err != nil {
|
if err := flags.Parse(os.Args[1:]); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@@ -36,12 +38,30 @@ func main() {
|
|||||||
var overrides Fields
|
var overrides Fields
|
||||||
json.Unmarshal([]byte(*overridesS), &overrides)
|
json.Unmarshal([]byte(*overridesS), &overrides)
|
||||||
|
|
||||||
|
mvNLn := RealMvNLn
|
||||||
|
if *dry {
|
||||||
|
outd := map[string]struct{}{}
|
||||||
|
mvNLn = func(outf, inf string) error {
|
||||||
|
if _, err := os.Stat(outf); err == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
if _, ok := outd[outf]; ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
outd[outf] = struct{}{}
|
||||||
|
|
||||||
|
log.Printf("mv %q %q", inf, outf)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if err := Run(ctx,
|
if err := Run(ctx,
|
||||||
*outd,
|
*outd,
|
||||||
*ind,
|
*ind,
|
||||||
flags.Args(),
|
flags.Args(),
|
||||||
overrides,
|
overrides,
|
||||||
RealMvNLn,
|
mvNLn,
|
||||||
); err != nil {
|
); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user