how to zip a StringIO object?

Nagy Viktor at
Wed Oct 28 16:48:44 CET 2009


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" %, 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?


More information about the Python-list mailing list