Open arjan-s opened 7 years ago
Would it be possible to merge this? I ran into this issue because I need to stream very large amounts of data.
Hi @matthewatabet, it seems the original developer of this package is not active anymore. So I've forked the package as zipstream-new: https://github.com/allanlei/python-zipstream/issues/33
Zip64 support currently doesn't work when the inputs for the generated zip file are iterables and/or strings. The reason for this is that __write() assumes a file size of 0 bytes for those inputs. Because of the file size the module doesn't enable Zip64 support. When it detects during compression that the file size is larger than ZIP64_LIMIT, it (correctly) raises RuntimeError('File size has increased during compressing').
This patch adds the optional (and thus backwards compatible) argument buffer_size to write_iter and writestr. This allows programs using the module to specify the buffer size that will result from the iterable or string, and in turn that allows __write() to enable Zip64 support when necessary.