Save samovar v1.
authorsgf <sgf.dma@gmail.com>
Tue, 21 Jun 2022 21:16:33 +0000 (00:16 +0300)
committersgf <sgf.dma@gmail.com>
Tue, 21 Jun 2022 21:16:33 +0000 (00:16 +0300)
samovar.go [new file with mode: 0644]

diff --git a/samovar.go b/samovar.go
new file mode 100644 (file)
index 0000000..8830ccb
--- /dev/null
@@ -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)
+}
+