From: Nagy Viktor on
Hi,

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" %
object.pk)
zipped.writestr("invoice-%d.pdf" % object.pk, pdf)
zipped.close()
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
"string".

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?

thanks,
V
From: Dave Angel on
Nagy Viktor wrote:
> Hi,
>
> 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" %
> object.pk)
> zipped.writestr("invoice-%d.pdf" % object.pk, pdf)
> zipped.close()
> 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
> "string".
>
> 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?
>
> thanks,
> V
>
>
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?

DaveA

 | 
Pages: 1
Prev: Freezing pycrypto
Next: PyGDChart2 module