diff options
| -rw-r--r-- | wheel/wheelfile.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/wheel/wheelfile.py b/wheel/wheelfile.py index 93b4bfa..486e17e 100644 --- a/wheel/wheelfile.py +++ b/wheel/wheelfile.py @@ -4,6 +4,7 @@ import csv import hashlib import os.path import re +import stat import time from collections import OrderedDict from distutils import log as logger @@ -138,14 +139,14 @@ class WheelFile(ZipFile): data = f.read() zinfo = ZipInfo(arcname or filename, date_time=get_zipinfo_datetime(st.st_mtime)) - zinfo.external_attr = st.st_mode << 16 + zinfo.external_attr = (stat.S_IMODE(st.st_mode) | stat.S_IFMT(st.st_mode)) << 16 zinfo.compress_type = ZIP_DEFLATED self.writestr(zinfo, data, compress_type) def mkdir(self, filename, arcname): st = os.stat(filename) zinfo = ZipInfo(arcname + '/', date_time=get_zipinfo_datetime(st.st_mtime)) - zinfo.external_attr = st.st_mode << 16 + zinfo.external_attr = (stat.S_IMODE(st.st_mode) | stat.S_IFMT(st.st_mode)) << 16 zinfo.compress_type = ZIP_DEFLATED self.writestr(zinfo, b'') |
