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