pack_epub: EPUB собирался без сжатия
У zipfile.ZipFile умолчание ZIP_STORED, компрессия нигде не задавалась — книги весили втрое больше при том же тексте (Брикман 1,42 МБ против 0,38). Теперь ZIP_DEFLATED; mimetype по-прежнему пишется несжатым, этого требует формат EPUB. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCiPWRi3Jqy4saD2LwU1Dp
This commit is contained in:
@@ -77,7 +77,10 @@ def build(src, out, meta):
|
||||
|
||||
imgdir = src.parent / "images"
|
||||
used, files = [], []
|
||||
with zipfile.ZipFile(out, "w") as z:
|
||||
# ZIP_DEFLATED обязателен явно: у zipfile умолчание — ZIP_STORED, и книга
|
||||
# выходит втрое толще (у Брикмана 1.42 МБ против 0.43 при том же тексте).
|
||||
# Первым файлом всё равно идёт несжатый mimetype — этого требует формат.
|
||||
with zipfile.ZipFile(out, "w", zipfile.ZIP_DEFLATED) as z:
|
||||
# mimetype обязан идти первым и без сжатия — иначе часть читалок
|
||||
# не опознаёт архив как EPUB
|
||||
z.writestr(zipfile.ZipInfo("mimetype"), "application/epub+zip",
|
||||
|
||||
Reference in New Issue
Block a user