From 709cce5ddf68a1f7a697d48b616fac371d2e13ba Mon Sep 17 00:00:00 2001 From: Antoine Aflalo <197810+Belphemur@users.noreply.github.com> Date: Tue, 27 Aug 2024 11:00:50 -0400 Subject: [PATCH] perf: use deflate for compressable files --- cbz/cbz_creator.go | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/cbz/cbz_creator.go b/cbz/cbz_creator.go index c03bd4d..8d20c3d 100644 --- a/cbz/cbz_creator.go +++ b/cbz/cbz_creator.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/belphemur/CBZOptimizer/packer" "os" + "time" ) func WriteChapterToCBZ(chapter *packer.Chapter, outputFilePath string) error { @@ -36,7 +37,11 @@ func WriteChapterToCBZ(chapter *packer.Chapter, outputFilePath string) error { } // Create a new file in the ZIP archive - fileWriter, err := zipWriter.Create(fileName) + fileWriter, err := zipWriter.CreateHeader(&zip.FileHeader{ + Name: fileName, + Method: zip.Store, + Modified: time.Now(), + }) if err != nil { return fmt.Errorf("failed to create file in .cbz: %w", err) } @@ -50,7 +55,11 @@ func WriteChapterToCBZ(chapter *packer.Chapter, outputFilePath string) error { // Optionally, write the ComicInfo.xml file if present if chapter.ComicInfoXml != "" { - comicInfoWriter, err := zipWriter.Create("ComicInfo.xml") + comicInfoWriter, err := zipWriter.CreateHeader(&zip.FileHeader{ + Name: "ComicInfo.xml", + Method: zip.Deflate, + Modified: time.Now(), + }) if err != nil { return fmt.Errorf("failed to create ComicInfo.xml in .cbz: %w", err) } @@ -62,7 +71,11 @@ func WriteChapterToCBZ(chapter *packer.Chapter, outputFilePath string) error { } if chapter.IsConverted { - convertedWriter, err := zipWriter.Create("Converted.txt") + convertedWriter, err := zipWriter.CreateHeader(&zip.FileHeader{ + Name: "Converted.txt", + Method: zip.Deflate, + Modified: time.Now(), + }) if err != nil { return fmt.Errorf("failed to create Converted.txt in .cbz: %w", err) }