42 lines
659 B
Go
42 lines
659 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"regexp"
|
|
)
|
|
|
|
func main() {
|
|
if len(os.Args) != 3 {
|
|
fmt.Println("Usage: go run timestamps.go [fishbowl].html [fishbowl]-timestamped.html")
|
|
os.Exit(1)
|
|
}
|
|
|
|
htmlPath := os.Args[1]
|
|
htmlOutPath := os.Args[2]
|
|
|
|
htmlBytes, err := os.ReadFile(htmlPath)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
html := string(htmlBytes)
|
|
|
|
regex, err := regexp.Compile(
|
|
"(<span class=\"chatlog__timestamp\">)(\\d+)-([A-Za-z]+)-(\\d+)( [^<]+</span>)",
|
|
)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
|
|
htmlOut := regex.ReplaceAllString(
|
|
html,
|
|
"$1$3 $2, 20$4$5",
|
|
)
|
|
|
|
err = os.WriteFile(htmlOutPath, []byte(htmlOut), 0666)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
}
|