From 8ae032cf44d5f4bf1faa5b14aae14c113ffd567e Mon Sep 17 00:00:00 2001 From: artygus Date: Wed, 13 Mar 2024 20:09:39 +0000 Subject: [PATCH] Improve zip reading --- lib/gepub/book.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/gepub/book.rb b/lib/gepub/book.rb index a63a95a..c28686d 100644 --- a/lib/gepub/book.rb +++ b/lib/gepub/book.rb @@ -102,9 +102,9 @@ def self.parse(io) package = nil package_path = nil book = nil - Zip::InputStream::open(io) { - |zis| - package, package_path = parse_container(zis, files) + Zip::File.open(io) { + |zip_file| + package, package_path = parse_container(zip_file, files) check_consistency_of_package(package, package_path) parse_files_into_package(files, package) book = Book.new(package.path) @@ -379,12 +379,12 @@ def ncx_xml end private - def self.parse_container(zis, files) + def self.parse_container(zip_file, files) package_path = nil package = nil - while entry = zis.get_next_entry + zip_file.each do |entry| if !entry.directory? - files[entry.name] = zis.read + files[entry.name] = zip_file.read(entry) case entry.name when MIMETYPE then if files[MIMETYPE] != MIMETYPE_CONTENTS