Save samovar, v6.
authorsgf <sgf.dma@gmail.com>
Tue, 21 Jun 2022 21:17:49 +0000 (00:17 +0300)
committersgf <sgf.dma@gmail.com>
Tue, 21 Jun 2022 21:17:49 +0000 (00:17 +0300)
samovar.go

index 6c7baf3..80960f7 100644 (file)
@@ -10,6 +10,7 @@ import (
     "errors"
     "bufio"
     "log"
+    "regexp"
 )
 
 var rootPath = "samovar"
@@ -38,7 +39,13 @@ func convertFileName(p0 string, newExt string) (string, error) {
     //rel1 := rel0
     p1 := filepath.Join(newRootPath, rel1)
     if rel0 != rel1 {
+        ext0 := filepath.Ext(p0)
+        p0base := strings.TrimSuffix(p0, ext0)
         renamedFiles = append(renamedFiles, renFile{oldName: p0, newName: p1})
+        renamedFiles = append(renamedFiles, renFile{oldName: strings.ToLower(p0base) + strings.ToLower(ext0), newName: p1})
+        renamedFiles = append(renamedFiles, renFile{oldName: strings.ToLower(p0base) + strings.ToUpper(ext0), newName: p1})
+        renamedFiles = append(renamedFiles, renFile{oldName: strings.ToUpper(p0base) + strings.ToLower(ext0), newName: p1})
+        renamedFiles = append(renamedFiles, renFile{oldName: strings.ToUpper(p0base) + strings.ToUpper(ext0), newName: p1})
     }
 
     ext1 := filepath.Ext(p1)
@@ -59,7 +66,7 @@ func copyFiles(p0 string, d fs.DirEntry, err error) error {
 
     var p1 string
     if strings.ToLower(filepath.Ext(p0)) == ".asp" {
-        p1, err = convertFileName(p0, ".htm")
+        p1, err = convertFileName(p0, ".html")
     } else {
         p1, err = convertFileName(p0, "")
     }
@@ -120,41 +127,17 @@ func fixRenamedPathes(s0 string) string {
 }
 
 func main() {
-    /*
-    h0, err := os.Open("int.go")
-    if err != nil { panic("huynya") }
-    defer h0.Close()
-
-    h1, err := os.OpenFile("2.tmp", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
-    if err != nil { panic("huynya") }
-    defer h1.Close()
-
-    v := LineByLine{input: h0}
-    for {
-        l, err := v.ReadLine()
-        if err == io.EOF { break }
-        fmt.Printf("Received %q\n", l)
-        h1.Write(l)
-    }
-    */
-
     var err error
 
-    /*
-    renamedFiles = []renFile{ {"ABC", "abc"}, {"ABC/DEF", "abc/def"}, {"ABC/DEF/HUY.TXT", "abc/def/huy.txt"}, {"ABC/DEF/GHI/NYA.TXT", "abc/def/ghi/nya.txt"}}
-    res := fixRenamedPathes("file=NYA.TXT")
-    fmt.Printf("Result: %q\n", res)
-
-    return*/
-    _, ok := editFileExts[".html"]
-    fmt.Println(ok)
     err = filepath.WalkDir(rootPath, copyFiles)
     if err != nil {
         fmt.Println(err)
         fmt.Println("huynya bro")
     }
+
     //fmt.Printf("%#v", yetToCopyFiles)
     for _, fn := range yetToCopyFiles {
+        //if fn.newName != "samovar2/wwwroot/rus/ssam_r.htm" { continue }
         log.Printf("Rewriting %q\n", fn.newName)
         h0, err := os.Open(fn.oldName)
         if err != nil { log.Fatal(err) }
@@ -169,7 +152,13 @@ func main() {
             //log.Printf("Scanner read %q\n", s.Text())
             //l := strings.ReplaceAll(s.Text(), "main", "NYAAA") + "\n"
             l := s.Text()
-            if l == "<%@ language=JavaScript %>" { continue }
+            b, err := regexp.MatchString("<%@ +[lL]anguage=JavaScript +%>", l)
+            if err != nil {
+                log.Fatal(err)
+            }
+            if b { continue }
+            //log.Printf("Line: %q\n", l)
+            l = strings.ReplaceAll(l, "file:///C|/Users/Home/AppData/Roaming/Adobe/Dreamweaver CS4/en_US/Configuration/ServerConnections/nt-hosting.ru", "..")
             l = fixRenamedPathes(l) + "\n"
             //l = l + "\n"
             h1.Write([]byte(l))
@@ -177,66 +166,3 @@ func main() {
     }
 }
 
-
-
-
-
-
-
-
-type LineByLine struct {
-    input io.Reader
-    buf []byte
-    off int
-    end int
-}
-
-var lineByLineDebug = false
-
-func (r *LineByLine) ReadLine() (line []byte, err error) {
-    if r.input == nil { return nil, nil }
-    if r.buf == nil || len(r.buf) == 0 {
-        var x [8]byte
-        r.buf = append(r.buf, x[:]...)
-        r.end = cap(r.buf)
-        fmt.Printf("Allocating buffer: %v, %v, %v\n", r.buf, len(r.buf), cap(r.buf))
-    }
-
-    var n int
-    if lineByLineDebug { fmt.Printf("Start line is: %q, off: %d, end: %d, buf: %q\n", line, r.off, r.end, r.buf) }
-    for {
-
-        if r.off == 0 {
-            n, err = r.input.Read(r.buf)
-            if err != io.EOF && err != nil { return nil, err }
-            if lineByLineDebug { fmt.Printf("Read %q\n", r.buf) }
-        } else {
-            n = r.end
-            if lineByLineDebug { fmt.Printf("Continuing read from offset %d with %d\n", r.off, n) }
-        }
-
-        for i, c := range r.buf[r.off:] {
-            if lineByLineDebug { fmt.Printf("%d %q ", i, c) }
-            if i >= n {
-                break
-            }
-            if c == '\n' {
-                line = append(line, r.buf[r.off:r.off+i+1]...)
-                r.off += i+1
-                r.end = n
-                if lineByLineDebug { fmt.Printf("Found newline. Stopping at %d, %d with: %q\n", r.off, r.end, line) }
-                return line, nil
-            }
-        }
-        line = append(line, r.buf[r.off:n]...)
-        if lineByLineDebug { fmt.Printf("Newline not found. Line is: %q\n", line) }
-        if r.off != 0 {
-            r.off = 0
-            r.end = cap(r.buf)
-        }
-        if err == io.EOF {
-            return line, io.EOF
-        }
-    }
-}
-