From: sgf Date: Tue, 21 Jun 2022 21:17:49 +0000 (+0300) Subject: Save samovar, v6. X-Git-Url: https://gitweb.sgf-dma.tk/?a=commitdiff_plain;h=49c5cb3b160c89f14736480d1f52e2ed44ad850d;p=go.git Save samovar, v6. --- diff --git a/samovar.go b/samovar.go index 6c7baf3..80960f7 100644 --- a/samovar.go +++ b/samovar.go @@ -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 - } - } -} -