version 1.35, 2005/06/20 21:34:17
|
version 1.38, 2005/06/21 14:15:13
|
Line 25 except:
|
Line 25 except:
|
|
|
def sortv(x,y): |
def sortv(x,y): |
return cmp(x[0],y[0]) |
return cmp(x[0],y[0]) |
tdir = "/tmp/testia" |
tdir = "/tmp/downloadVersionedFiles" |
|
|
class generateDownloadZip: |
class generateDownloadZip: |
"""generateDownloadSet""" |
"""generateDownloadSet""" |
Line 52 class generateDownloadZip:
|
Line 52 class generateDownloadZip:
|
if not os.path.exists(tmpPath): |
if not os.path.exists(tmpPath): |
os.mkdir(tmpPath) |
os.mkdir(tmpPath) |
|
|
self.response="<h3>1. step: gettung the files</h3>" |
self.response="<h3>1. step: getting the files</h3>" |
|
|
for files in self.folder.ZopeFind(self.folder,obj_metatypes=['versionedFile']): |
for files in self.folder.ZopeFind(self.folder,obj_metatypes=['versionedFile']): |
lastV=files[1].getLastVersion() |
lastV=files[1].getLastVersion() |
Line 84 class generateDownloadZip:
|
Line 84 class generateDownloadZip:
|
len=os.stat(tmpZip)[6] |
len=os.stat(tmpZip)[6] |
downloadUrl=self.url+"/downloadSet" |
downloadUrl=self.url+"/downloadSet" |
self.response+="""<h1><a href="downloadSet?fn=%s">Click here for download ( %i Byte)</a></h1>\n"""%(tmpFn,len) |
self.response+="""<h1><a href="downloadSet?fn=%s">Click here for download ( %i Byte)</a></h1>\n"""%(tmpFn,len) |
|
self.response+="""<p>The file you receive is a tar (gnutar) compressed file, after unpacking you will find a new folder <emph>tmp</emph> where the files are stored in.</p>""" |
self.response+="""<p>The file will be stored for a while, you can download it later, the URL is:</p> |
self.response+="""<p>The file will be stored for a while, you can download it later, the URL is:</p> |
<p><a href="downloadSet?fn=%s">%s?fn=%s</a></h1>\n"""%(tmpFn,downloadUrl,tmpFn) |
<p><a href="downloadSet?fn=%s">%s?fn=%s</a></h1>\n"""%(tmpFn,downloadUrl,tmpFn) |
|
|
Line 119 class versionedFileFolder(Folder,ECHO_ba
|
Line 120 class versionedFileFolder(Folder,ECHO_ba
|
{'label':'Generate Index.html','action':'generateIndexHTML'}, |
{'label':'Generate Index.html','action':'generateIndexHTML'}, |
{'label':'Generate history_template.html','action':'generateHistoryHTML'}, |
{'label':'Generate history_template.html','action':'generateHistoryHTML'}, |
{'label':'Import Folder','action':'importFolderForm'}, |
{'label':'Import Folder','action':'importFolderForm'}, |
|
{'label':'Export Folder','action':'exportFolder'}, |
) |
) |
|
|
def importFolderForm(self): |
def importFolderForm(self): |
Line 154 class versionedFileFolder(Folder,ECHO_ba
|
Line 156 class versionedFileFolder(Folder,ECHO_ba
|
"""exportiert alle akutellen files des folders""" |
"""exportiert alle akutellen files des folders""" |
threadName=repeat |
threadName=repeat |
|
|
|
downloadZip=generateDownloadZip(self,self.absolute_url()) |
if not threadName or threadName=="": |
downloadZip() |
threadStart=generateDownloadZip(self,self.absolute_url()) |
return downloadZip.getResult() |
thread=Thread(target=threadStart) |
## if not threadName or threadName=="": |
|
## threadStart=generateDownloadZip(self,self.absolute_url()) |
thread.start() |
## thread=Thread(target=threadStart) |
|
|
|
## thread.start() |
self.zipThreads[thread.getName()[0:]]=threadStart |
|
self.zipThreads2[thread.getName()[0:]]=thread |
|
self.REQUEST.SESSION['threadName']=thread.getName()[0:] |
## self.zipThreads[thread.getName()[0:]]=threadStart |
wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['zip_wait_template']) |
## self.zipThreads2[thread.getName()[0:]]=thread |
if wait_template: |
## self.REQUEST.SESSION['threadName']=thread.getName()[0:] |
return wait_template[0][1]() |
## wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['zip_wait_template']) |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait.zpt')).__of__(self) |
## if wait_template: |
return pt() |
## return wait_template[0][1]() |
|
## pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait.zpt')).__of__(self) |
else: |
## return pt() |
self.REQUEST.SESSION['threadName']=threadName |
|
|
## else: |
if (self.zipThreads[threadName].getResult()==None): |
## self.REQUEST.SESSION['threadName']=threadName |
|
|
wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['wait_template']) |
## if (self.zipThreads[threadName].getResult()==None): |
if wait_template: |
|
return wait_template[0][1]() |
## wait_template=self.aq_parent.ZopeFind(self.aq_parent,obj_ids=['wait_template']) |
|
## if wait_template: |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait.zpt')).__of__(self) |
## return wait_template[0][1]() |
return pt() |
|
else: |
## pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait.zpt')).__of__(self) |
if self.zipThreads[threadName].isDone(): |
## return pt() |
self.REQUEST.SESSION['result']=self.zipThreads[threadName].getResult() |
## else: |
self.zipThreads2[threadName].join() |
## if self.zipThreads[threadName].isDone(): |
del(self.zipThreads2[threadName]) |
## self.REQUEST.SESSION['result']=self.zipThreads[threadName].getResult() |
del(self.zipThreads[threadName]) |
## self.zipThreads2[threadName].join() |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_result.zpt')).__of__(self) |
## del(self.zipThreads2[threadName]) |
return pt() |
## del(self.zipThreads[threadName]) |
|
## pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_result.zpt')).__of__(self) |
else: |
## return pt() |
self.REQUEST.SESSION['result']=self.zipThreads[threadName].getResult() |
|
self.REQUEST.SESSION['threadName']=threadName |
## else: |
pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait_result.zpt')).__of__(self) |
## self.REQUEST.SESSION['result']=self.zipThreads[threadName].getResult() |
return pt() |
## self.REQUEST.SESSION['threadName']=threadName |
|
## pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','zip_wait_result.zpt')).__of__(self) |
|
## return pt() |
|
|
def downloadSet(self,fn): |
def downloadSet(self,fn): |
"""download prepared set""" |
"""download prepared set""" |
filename=os.path.join(tdir,fn) |
filename=os.path.join(tdir,fn) |
|
|
|
|
self.REQUEST.RESPONSE.setHeader("Content-Disposition","""attachement; filename="%s" """%"donloadFileFolder.tgz") |
self.REQUEST.RESPONSE.setHeader("Content-Disposition","""attachement; filename="%s" """%"downloadFileFolder.tgz") |
self.REQUEST.RESPONSE.setHeader("Content-Type","application/octet-stream") |
self.REQUEST.RESPONSE.setHeader("Content-Type","application/octet-stream") |
len=os.stat(filename)[6] |
len=os.stat(filename)[6] |
self.REQUEST.RESPONSE.setHeader("Content-Length",len) |
self.REQUEST.RESPONSE.setHeader("Content-Length",len) |