Re: [Zope] external method with import tarfile
Hi there! I managed to find the problem and the solution. First, I've forgot to mention that in my script, oname is an uploaded file. I just inserted a f.close() and voilá! def upload_external(self,file,REQUEST): import os,tarfile ... f=open(oname,"wb") f.write(file.read()) f.close() ... tar = tarfile.open(oname,"r:gz") for itar in tar: tar.extract(itar.name,jobdir) return "Done" Cheers, Alan On 18/07/06, Alan <alanwilter@gmail.com> wrote:
Thanks for your reply.
Yes, my script works and my file are not broken. I am using mac osx tiger 10.4.7, zope 2.9.3 and python 2.4.2.
Cheers, Alan
On 18/07/06, Andreas Jung <lists@zopyx.com> wrote:
--On 18. Juli 2006 16:12:18 +0100 Alan <alanwilter@gmail.com> wrote:
Error Type: IOError Error Value: CRC check failed
This is unlikely a Zope issue. Either your tar file is broken or the tarfile module is broken. Check if your code runs without Zope as a simple PythonScript..there is nothing about Zope involved in your issue.
-aj
-- Alan Wilter S. da Silva, D.Sc. - Research Associate Department of Biochemistry, University of Cambridge. 80 Tennis Court Road, Cambridge CB2 1GA, UK.
-- Alan Wilter S. da Silva, D.Sc. - Research Associate Department of Biochemistry, University of Cambridge. 80 Tennis Court Road, Cambridge CB2 1GA, UK.
Alan wrote:
Hi there!
I managed to find the problem and the solution.
First, I've forgot to mention that in my script, oname is an uploaded file. I just inserted a f.close() and voilá!
def upload_external(self,file,REQUEST): import os,tarfile ... f=open(oname,"wb") f.write(file.read()) f.close() ... tar = tarfile.open(oname,"r:gz") for itar in tar: tar.extract(itar.name,jobdir) return "Done"
Err. why not tar=tarfile.open(fileobj=file) ? Why bother with potentially name clashing files in filesystem? Regards Tino
participants (2)
-
Alan -
Tino Wildenhain