diff --git a/converter/converter.go b/converter/converter.go index 286353a..c353a52 100644 --- a/converter/converter.go +++ b/converter/converter.go @@ -12,7 +12,7 @@ import ( type Converter interface { // Format of the converter Format() (format constant.ConversionFormat) - ConvertChapter(chapter *manga.Chapter, quality uint8, progress func(string)) (*manga.Chapter, error) + ConvertChapter(chapter *manga.Chapter, quality uint8, progress func(message string, current uint32, total uint32)) (*manga.Chapter, error) PrepareConverter() error } diff --git a/converter/webp/webp_converter.go b/converter/webp/webp_converter.go index 09bc48c..b28c719 100644 --- a/converter/webp/webp_converter.go +++ b/converter/webp/webp_converter.go @@ -48,7 +48,7 @@ func (converter *Converter) PrepareConverter() error { return nil } -func (converter *Converter) ConvertChapter(chapter *packer2.Chapter, quality uint8, progress func(string)) (*packer2.Chapter, error) { +func (converter *Converter) ConvertChapter(chapter *packer2.Chapter, quality uint8, progress func(message string, current uint32, total uint32)) (*packer2.Chapter, error) { err := converter.PrepareConverter() if err != nil { return nil, err @@ -93,7 +93,7 @@ func (converter *Converter) ConvertChapter(chapter *packer2.Chapter, quality uin } pagesMutex.Lock() pages = append(pages, convertedPage.Page) - progress(fmt.Sprintf("Converted %d/%d pages to %s format", len(pages), totalPages, converter.Format())) + progress(fmt.Sprintf("Converted %d/%d pages to %s format", len(pages), totalPages, converter.Format()), uint32(len(pages)), totalPages) pagesMutex.Unlock() <-guard }(page) diff --git a/utils/optimize.go b/utils/optimize.go index 00409ef..78ebc1a 100644 --- a/utils/optimize.go +++ b/utils/optimize.go @@ -24,8 +24,10 @@ func Optimize(chapterConverter converter.Converter, path string, quality uint8, } // Convert the chapter - convertedChapter, err := chapterConverter.ConvertChapter(chapter, quality, func(msg string) { - log.Printf("[%s]%s", path, msg) + convertedChapter, err := chapterConverter.ConvertChapter(chapter, quality, func(msg string, current uint32, total uint32) { + if current%10 == 0 || current == total { + log.Printf("[%s] Converting: %d/%d", chapter.FilePath, current, total) + } }) if err != nil { return fmt.Errorf("failed to convert chapter: %v", err)