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