how to zip a StringIO object?
davea at ieee.org
Wed Oct 28 20:15:20 CET 2009
Nagy Viktor wrote:
> I try to run the following code:
> def generate_zip(object_list, template):
> result = StringIO.StringIO()
> zipped = zipfile.ZipFile(result, "w")
> for object in object_list:
> pdf = generate_pdf(object, template)
> if not pdf:
> raise IOError("Problem with generating invoice %d" %
> zipped.writestr("invoice-%d.pdf" % object.pk, pdf)
> return result.getvalue()
> where generate_pdf returns a valid pdf file's string content, more
> precisely it returns a StringIO.getvalue() call containing the pdf
> When I add this string to the zip file, I get a problem. Namely, the
> zipped files are chmoded to non-readable when extracted. How can I
> change this?
You don't tell us the version of Python, nor the OS environment, nor
what utility you're using to extract these files.
When I supply the missing imports, shortcircuit the missing classes and
functions, and add some mainline code, I can run this with no problem.
Are you also running on Windows XP, using 2.6.2, using the same missing
code as I, and extracting with Winzip 11.2?
More information about the Python-list