Use absolute paths
Thanks windows
This commit is contained in:
17
main.go
17
main.go
@@ -44,6 +44,7 @@ func (dp *DateParserISO) Parse(s string) (time.Time, error) {
|
|||||||
func main() {
|
func main() {
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
logger.InitFlag()
|
logger.InitFlag()
|
||||||
|
logger.Default = logger.Default.ToFile("dategrouper.log")
|
||||||
|
|
||||||
if flag.NArg() == 0 {
|
if flag.NArg() == 0 {
|
||||||
logger.Error("no files provided")
|
logger.Error("no files provided")
|
||||||
@@ -57,7 +58,6 @@ func main() {
|
|||||||
|
|
||||||
files := flag.Args()
|
files := flag.Args()
|
||||||
|
|
||||||
|
|
||||||
cyutils.WithWorkers(10, files, func(worker int, _ int, file string) {
|
cyutils.WithWorkers(10, files, func(worker int, _ int, file string) {
|
||||||
workerlog := logger.Default.WithPrefix(fmt.Sprintf("worker=%d", worker))
|
workerlog := logger.Default.WithPrefix(fmt.Sprintf("worker=%d", worker))
|
||||||
filelog := workerlog.WithPrefix(fmt.Sprintf("file=%q", file))
|
filelog := workerlog.WithPrefix(fmt.Sprintf("file=%q", file))
|
||||||
@@ -69,25 +69,23 @@ func main() {
|
|||||||
}
|
}
|
||||||
filelog.Info("date: %s", date)
|
filelog.Info("date: %s", date)
|
||||||
|
|
||||||
datedir := fmt.Sprintf("%04d-%02d-%02d", date.Year(), date.Month(), date.Day())
|
dir := filepath.Dir(file)
|
||||||
dest := filepath.Join(datedir, file)
|
datedir := filepath.Join(dir, fmt.Sprintf("%04d-%02d-%02d", date.Year(), date.Month(), date.Day()))
|
||||||
|
dest := filepath.Join(datedir, filepath.Base(file))
|
||||||
filelog.Info("dest: %s", dest)
|
filelog.Info("dest: %s", dest)
|
||||||
err = os.MkdirAll(datedir, 0755)
|
err = os.MkdirAll(datedir, 0755)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
filelog.Error("error creating directory: %s", err)
|
filelog.Error("error creating directory: %s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
// Make sure file doesn't exist
|
|
||||||
destfile, err := os.Stat(dest)
|
destfile, err := os.Stat(dest)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
filelog.Info("dest file already exists: %s", destfile.Name())
|
filelog.Info("dest file already exists: %s", destfile.Name())
|
||||||
return
|
return
|
||||||
} else {
|
} else if !os.IsNotExist(err) {
|
||||||
if !os.IsNotExist(err) {
|
|
||||||
filelog.Error("error checking dest file: %s", err)
|
filelog.Error("error checking dest file: %s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
filelog.Debug("opening input file")
|
filelog.Debug("opening input file")
|
||||||
in, err := os.Open(file)
|
in, err := os.Open(file)
|
||||||
@@ -99,16 +97,17 @@ func main() {
|
|||||||
out, err := os.Create(dest)
|
out, err := os.Create(dest)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
filelog.Error("error creating dest file: %s", err)
|
filelog.Error("error creating dest file: %s", err)
|
||||||
|
in.Close()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
filelog.Info("copying file")
|
filelog.Info("copying file")
|
||||||
_, err = io.Copy(out, in)
|
_, err = io.Copy(out, in)
|
||||||
|
in.Close()
|
||||||
|
out.Close()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
filelog.Error("error copying file: %s", err)
|
filelog.Error("error copying file: %s", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
in.Close()
|
|
||||||
out.Close()
|
|
||||||
|
|
||||||
filelog.Info("removing original file")
|
filelog.Info("removing original file")
|
||||||
err = os.Remove(file)
|
err = os.Remove(file)
|
||||||
|
Reference in New Issue
Block a user