diff --git a/prefetch.go b/prefetch.go index f0f10bf..2a1ad64 100644 --- a/prefetch.go +++ b/prefetch.go @@ -1,7 +1,6 @@ package main import ( - "bufio" "fmt" "os" "path" @@ -13,40 +12,34 @@ import ( ) func PrefetchImages(confImgPath string, ExhaustPath string, QUALITY string) { - fmt.Println(`Prefetch will convert all your images to webp, -it may take some time and consume a lot of CPU resource. Do you want to proceed(Y/n)`) - - reader := bufio.NewReader(os.Stdin) - char, _, _ := reader.ReadRune() //y Y enter // maximum ongoing prefetch is depending on your core of CPU log.Infof("Prefetching using %d cores", jobs) var finishChan = make(chan int, jobs) for i := 0; i < jobs; i++ { finishChan <- 0 } - if char == 121 || char == 10 || char == 89 { - //prefetch, recursive through the dir - all := FileCount(confImgPath) - count := 0 - err := filepath.Walk(confImgPath, - func(picAbsPath string, info os.FileInfo, err error) error { - if err != nil { - return err - } - // RawImagePath string, ImgFilename string, reqURI string - proposedURI := strings.Replace(picAbsPath, confImgPath, "", 1) - _, p2 := GenWebpAbs(picAbsPath, ExhaustPath, info.Name(), proposedURI) - q, _ := strconv.ParseFloat(QUALITY, 32) - _ = os.MkdirAll(path.Dir(p2), 0755) - go WebpEncoder(picAbsPath, p2, float32(q), false, finishChan) - count += <-finishChan - //progress bar - _, _ = fmt.Fprintf(os.Stdout, "[Webp Server started] - convert in progress: %d/%d\r", count, all) - return nil - }) - if err != nil { - log.Debug(err) - } + + //prefetch, recursive through the dir + all := FileCount(confImgPath) + count := 0 + err := filepath.Walk(confImgPath, + func(picAbsPath string, info os.FileInfo, err error) error { + if err != nil { + return err + } + // RawImagePath string, ImgFilename string, reqURI string + proposedURI := strings.Replace(picAbsPath, confImgPath, "", 1) + _, p2 := GenWebpAbs(picAbsPath, ExhaustPath, info.Name(), proposedURI) + q, _ := strconv.ParseFloat(QUALITY, 32) + _ = os.MkdirAll(path.Dir(p2), 0755) + go WebpEncoder(picAbsPath, p2, float32(q), false, finishChan) + count += <-finishChan + //progress bar + _, _ = fmt.Fprintf(os.Stdout, "[Webp Server started] - convert in progress: %d/%d\r", count, all) + return nil + }) + if err != nil { + log.Debug(err) } _, _ = fmt.Fprintf(os.Stdout, "Prefetch completeY(^_^)Y\n\n")