Simplify imports in zip_stream and add comments
authorChristian Herdtweck <christian.herdtweck@intra2net.com>
Wed, 23 May 2018 10:36:03 +0000 (12:36 +0200)
committerChristian Herdtweck <christian.herdtweck@intra2net.com>
Mon, 8 Oct 2018 07:36:35 +0000 (09:36 +0200)
src/zip_stream.py

index 6952e2f..0bda371 100644 (file)
@@ -30,33 +30,34 @@ Use as follows::
     from pyi2ncommon.zip_stream import ZipStream
     with ZipStream(output_stream, 'w') as zip:
         info = zip.create_zipinfo(big_file)
-        with open(big_file, 'rb') as input_stream:
+        with open(big_file, 'rb') as input_stream:     # always read binary!
             zip.write_stream(input_stream, info)
+
+.. codeauthor:: Intra2net AG <info@intra2net>
 """
 
 import sys
 import os
 
-if sys.version_info.major >= 3 and sys.version_info.minor >= 6:
-    from zipfile import *
+if sys.version_info.major < 3:
+    raise ImportError('Did not backport zipfile from python 3.5 to py2')
+if sys.version_info.minor >= 6:
+    # imports for _write_stream_36
     import shutil
-elif sys.version_info.major >= 3 and sys.version_info.minor >= 5:
+else:
+    # imports for create_zipinfo, _write_stream_35 and _get_compressor
     from stat import S_ISDIR
     import time
     import zlib
     crc32 = zlib.crc32
     import bz2
     import struct
+if sys.version_info.minor >= 5:
     from zipfile import *
 else:
-    from stat import S_ISDIR
-    import time
-    import zlib
-    crc32 = zlib.crc32
-    import bz2
-    import struct
-    # backport of zipfile from python 3.5; works at least for py3.3
+    # backport of zipfile from python 3.5 to support stream output
     from zipfile35 import *
+
 from .type_helpers import isstr