From: sgf Date: Tue, 21 Jun 2022 21:16:33 +0000 (+0300) Subject: Save samovar v1. X-Git-Url: https://gitweb.sgf-dma.tk/?a=commitdiff_plain;h=7f2b8b238ca37d3d81c37c248435a1027a8ece1c;p=go.git Save samovar v1. --- diff --git a/samovar.go b/samovar.go new file mode 100644 index 0000000..8830ccb --- /dev/null +++ b/samovar.go @@ -0,0 +1,72 @@ +package main + +import ( + "fmt" + "path/filepath" + "io/fs" + "strings" + "os" + "io" + "errors" +) + +var rootPath = "samovar" +var newRootPath = "samovar2" + +var renamedFiles []string + +func copyToLower(p0 string, d fs.DirEntry, err error) error { + if err != nil { return err } + + fmt.Println("Path: ", p0) + rel0, err := filepath.Rel(rootPath, p0) + if err != nil { return err } + + rel1 := strings.ToLower(rel0) + if rel0 != rel1 { + renamedFiles = append(renamedFiles, p0) + } + + p1 := filepath.Join(newRootPath, rel1) + fmt.Println("Renaming to ", p1) + inf0, err := d.Info() + if err != nil { return err } + + fmt.Println(inf0.Mode()) + if d.IsDir() { + err = os.Mkdir(p1, inf0.Mode()) + if err != nil && !errors.Is(err, fs.ErrExist) { + return err + } + return nil + } else { + h0, err := os.Open(p0) + if err != nil { return err } + defer h0.Close() + + h1, err := os.Create(p1) + if err != nil { return err } + defer h1.Close() + + _, err = io.Copy(h1, h0) + return err + } + + /* + err = os.Rename(p0, filepath.Join(newRootPath, relL)) + if err != nil { return err }*/ +} + +func rewritePathes(p0 string, _ fs.DirEntry, err error) error { + return nil +} + +func main() { + err := filepath.WalkDir(rootPath, copyToLower) + if err != nil { + fmt.Println(err) + fmt.Println("huynya bro") + } + fmt.Println(renamedFiles) +} +