From a43026fee13939f78d1b581a92b2d8fad6076c7e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 20 Dec 2011 16:21:30 +0530 Subject: [PATCH] EPUB Output: Ensure directories have the correct permissions bits set when unzipping an epub with unzip on Unix --- src/calibre/ebooks/epub/__init__.py | 2 +- src/calibre/utils/zipfile.py | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/epub/__init__.py b/src/calibre/ebooks/epub/__init__.py index 53dd01d625..3c70625e91 100644 --- a/src/calibre/ebooks/epub/__init__.py +++ b/src/calibre/ebooks/epub/__init__.py @@ -35,7 +35,7 @@ def initialize_container(path_to_container, opf_name='metadata.opf', '''.format(opf_name, extra_entries=rootfiles).encode('utf-8') zf = ZipFile(path_to_container, 'w') zf.writestr('mimetype', 'application/epub+zip', compression=ZIP_STORED) - zf.writestr('META-INF/', '', 0700) + zf.writestr('META-INF/', '', 0755) zf.writestr('META-INF/container.xml', CONTAINER) for path, _, data in extra_entries: zf.writestr(path, data) diff --git a/src/calibre/utils/zipfile.py b/src/calibre/utils/zipfile.py index 769c3e9bed..66591302fb 100644 --- a/src/calibre/utils/zipfile.py +++ b/src/calibre/utils/zipfile.py @@ -1297,9 +1297,7 @@ class ZipFile: Add a directory recursively to the zip file with an optional prefix. ''' if prefix: - zi = ZipInfo(prefix+'/') - zi.external_attr = 16 - self.writestr(zi, '') + self.writestr(prefix+'/', '', 0755) cwd = os.path.abspath(os.getcwd()) try: os.chdir(path)