version 1.68, 2006/10/04 07:35:27
|
version 1.72, 2008/10/29 12:12:25
|
Line 1
|
Line 1
|
from OFS.Folder import Folder |
from OFS.Folder import Folder |
from OFS.Image import File |
from OFS.Image import File |
from OFS.Image import cookId |
from OFS.Image import cookId |
|
from OFS.DTMLDocument import DTMLDocument |
from Globals import DTMLFile, InitializeClass,package_home |
from Globals import DTMLFile, InitializeClass,package_home |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from Products.PageTemplates.PageTemplateFile import PageTemplateFile |
from AccessControl import getSecurityManager |
from AccessControl import getSecurityManager |
Line 22 import shutil
|
Line 23 import shutil
|
import tempfile |
import tempfile |
import os.path |
import os.path |
import urllib |
import urllib |
|
import logging |
import time |
import time |
try: |
try: |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
from Products.ECHO_content.ECHO_collection import ECHO_basis |
Line 35 except:
|
Line 36 except:
|
|
|
def sortv(x,y): |
def sortv(x,y): |
return cmp(x[0],y[0]) |
return cmp(x[0],y[0]) |
|
|
tdir = "/tmp/downloadVersionedFiles" |
tdir = "/tmp/downloadVersionedFiles" |
|
|
class generateDownloadZip: |
class generateDownloadZip: |
Line 62 class generateDownloadZip:
|
Line 64 class generateDownloadZip:
|
if not os.path.exists(tmpPath): |
if not os.path.exists(tmpPath): |
os.mkdir(tmpPath) |
os.mkdir(tmpPath) |
|
|
|
tempfile.tempdir=storeTempDir |
self.response="<h3>1. step: getting 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']): |
Line 70 class generateDownloadZip:
|
Line 73 class generateDownloadZip:
|
|
|
savePath=os.path.join(tmpPath,lastV.title) |
savePath=os.path.join(tmpPath,lastV.title) |
fh=file(savePath,"w") |
fh=file(savePath,"w") |
fh.write(lastV.data) |
logging.debug("writing file %1 data in %s"%(lastV.title,savePath)) |
|
# loop to get OFS.Image.File data |
|
data=lastV.data |
|
if isinstance(data, str): |
|
fh.write(data) |
|
else: |
|
while data is not None: |
|
fh.write(data.data) |
|
data=data.next |
|
|
fh.close() |
fh.close() |
|
|
self.response+="<h3>2. step: creating the downloadable file</h3>" |
self.response+="<h3>2. step: creating the downloadable file</h3>" |
Line 130 class versionedFileFolder(Folder,ECHO_ba
|
Line 142 class versionedFileFolder(Folder,ECHO_ba
|
{'label':'Generate Index.html','action':'generateIndexHTML'}, |
{'label':'Generate Index.html','action':'generateIndexHTML'}, |
{'label':'Generate Image Index.html','action':'generateIndexHTML_image'}, |
{'label':'Generate Image Index.html','action':'generateIndexHTML_image'}, |
{'label':'Generate history_template.html','action':'generateHistoryHTML'}, |
{'label':'Generate history_template.html','action':'generateHistoryHTML'}, |
|
{'label':'Generate addFileForm','action':'generateAddFileForm'}, |
{'label':'Import Folder','action':'importFolderForm'}, |
{'label':'Import Folder','action':'importFolderForm'}, |
{'label':'Export Folder','action':'exportFolder'}, |
{'label':'Export Folder','action':'exportFolder'}, |
{'label':'Position of version number','action':'changeHistoryFileNamesForm'}, |
{'label':'Position of version number','action':'changeHistoryFileNamesForm'}, |
Line 304 class versionedFileFolder(Folder,ECHO_ba
|
Line 317 class versionedFileFolder(Folder,ECHO_ba
|
"""lege standard addfileform an""" |
"""lege standard addfileform an""" |
#TODO: write generateaddfileform only a dummy at them moment |
#TODO: write generateaddfileform only a dummy at them moment |
|
|
if not self.ZopeFind(self,obj_ids=['addFileForm.dtml']): |
if not self.ZopeFind(self,obj_ids=['addFileForm.html']): |
zt=ZopePageTemplate('index.html') |
zt=ZopePageTemplate('addFileForm.html') |
self._setObject('index.html',zt) |
self._setObject('addFileForm.html',zt) |
default_content_fn = os.path.join(package_home(globals()), |
default_content_fn = os.path.join(package_home(globals()), |
'zpt/versionFileFolderMain.zpt') |
'zpt/fileAdd_template.zpt') |
text = open(default_content_fn).read() |
text = open(default_content_fn).read() |
zt.pt_edit(text, 'text/html') |
zt.pt_edit(text, 'text/html') |
|
|
Line 442 class versionedFileFolder(Folder,ECHO_ba
|
Line 455 class versionedFileFolder(Folder,ECHO_ba
|
|
|
def addFileForm(self): |
def addFileForm(self): |
"""add a file""" |
"""add a file""" |
ext=self.ZopeFind(self,obj_ids=["addFileForm.dtml"]) |
ext=getattr(self,'addFileForm.html',None) |
|
logging.error("Found %s"%ext) |
if ext: |
if ext: |
return ext[0][1]('',globals(),version='1',AUTHENTICATED_USER=self.REQUEST.AUTHENTICATED_USER) |
out=ext |
|
else: |
|
|
out=DTMLFile('dtml/newFileAdd', globals(),Kind='VersionedFileObject',kind='versionedFileObject',version='1').__of__(self) |
out=DTMLFile('dtml/newFileAdd', globals(),Kind='VersionedFileObject',kind='versionedFileObject',version='1').__of__(self) |
return out() |
return out() |
Line 650 class versionedFileObject(File):
|
Line 665 class versionedFileObject(File):
|
"""get version""" |
"""get version""" |
return self.versionNumber |
return self.versionNumber |
|
|
security.declarePublic('getVersionComment') |
|
def getVersionComment(self): |
|
"""get version""" |
|
return self.versionComment |
|
|
|
|
|
|
|
Line 856 class versionedFile(CatalogAware,Folder)
|
Line 867 class versionedFile(CatalogAware,Folder)
|
lastVersion.versionNumber=1 |
lastVersion.versionNumber=1 |
return lastVersion |
return lastVersion |
|
|
|
def getVersionNr(self,nr): |
|
"""Last Version""" |
|
tmp=0 |
|
lastVersion=None |
|
|
|
|
|
for version in self.ZopeFind(self): |
|
|
|
if hasattr(version[1],'versionNumber'): |
|
|
|
if int(version[1].versionNumber) ==nr : |
|
return version[1] |
|
|
|
return None |
def diff(self,data): |
def diff(self,data): |
"""differenz between lastversion and data""" |
"""differenz between lastversion and data""" |
d=Differ() |
d=Differ() |