version 1.7, 2004/01/07 10:46:30
|
version 1.11, 2004/03/03 13:02:54
|
Line 1
|
Line 1
|
# Methoden und Klassen fuer den MPIWG Archiver |
""" Methoden und Klassen fuer den MPIWG Archiver |
|
20040303 Zur Zeit nur angepasst and das System des MPIWG |
|
nächste schritte: Konfigurierbarkeit der Metadaten / Konfigurierbarkeit der Server |
|
|
|
""" |
|
|
from OFS.Image import Image |
from OFS.Image import Image |
from OFS.Folder import Folder |
from OFS.Folder import Folder |
Line 31 class OSAS_archiveInbox(SimpleItem,Persi
|
Line 35 class OSAS_archiveInbox(SimpleItem,Persi
|
self.title=title |
self.title=title |
self.pathes=[] |
self.pathes=[] |
|
|
def addPath(self,path): |
def addPath(self,path,RESPONSE=None): |
|
"""add a path""" |
today=time.localtime() |
today=time.localtime() |
self.pathes.append([path,today]) |
temp=self.pathes[0:] |
|
temp.append([path,today]) |
|
self.pathes=temp[0:] |
|
if RESPONSE: |
|
RESPONSE.redirect("index_html") |
|
|
def index_html(self): |
def index_html(self): |
"""main""" |
"""main""" |
pt=PageTemplateFile('Products/OSA_system/OSAS_archiveInboxIndex.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_archiveInboxIndex.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def manage_AddOSAS_archiveInboxForm(self): |
def manage_AddOSAS_archiveInboxForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/AddOSAS_archiveInbox.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_archiveInbox.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 96 class OSAS_metadataOrganizer(SimpleItem,
|
Line 105 class OSAS_metadataOrganizer(SimpleItem,
|
else: |
else: |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['path']=path |
|
|
pt=PageTemplateFile('Products/OSA_system/inputRessourceData.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/inputRessourceData.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 119 class OSAS_metadataOrganizer(SimpleItem,
|
Line 128 class OSAS_metadataOrganizer(SimpleItem,
|
def addAcquisition(self,path): |
def addAcquisition(self,path): |
"""Hinzufügen von Acquisition Daten""" |
"""Hinzufügen von Acquisition Daten""" |
self.REQUEST.SESSION['path']=path |
self.REQUEST.SESSION['path']=path |
pt=PageTemplateFile('Products/OSA_system/inputAcquisitionData.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/inputAcquisitionData.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 151 class OSAS_metadataOrganizer(SimpleItem,
|
Line 160 class OSAS_metadataOrganizer(SimpleItem,
|
self.metaDataSet=self.metaDataSets[self.mediaToAcquisition[media_type]] |
self.metaDataSet=self.metaDataSets[self.mediaToAcquisition[media_type]] |
self.media_type=self.mediaToAcquisition[media_type] |
self.media_type=self.mediaToAcquisition[media_type] |
|
|
pt=PageTemplateFile('Products/OSA_system/inputDocumentMetadata.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/inputDocumentMetadata.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 176 class OSAS_metadataOrganizer(SimpleItem,
|
Line 185 class OSAS_metadataOrganizer(SimpleItem,
|
changeNodesInIndexMeta(self.REQUEST.SESSION['path'],"img",subnodes) |
changeNodesInIndexMeta(self.REQUEST.SESSION['path'],"img",subnodes) |
|
|
|
|
pt=PageTemplateFile('Products/OSA_system/inputBiblioMetadata.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/inputBiblioMetadata.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def writeBiblioMetadata(self,bibdata_type,RESPONSE=None): |
def writeBiblioMetadata(self,bibdata_type,RESPONSE=None): |
Line 195 class OSAS_metadataOrganizer(SimpleItem,
|
Line 204 class OSAS_metadataOrganizer(SimpleItem,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def manage_AddOSAS_metadataOrganizerForm(self): |
def manage_AddOSAS_metadataOrganizerForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/AddOSAS_metadataOrganizer.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_metadataOrganizer.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 228 class OSAS_processViewer(SimpleItem,Pers
|
Line 233 class OSAS_processViewer(SimpleItem,Pers
|
|
|
def index_html(self): |
def index_html(self): |
"""main page""" |
"""main page""" |
pt=PageTemplateFile('Products/OSA_system/processViewerIndex.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/processViewerIndex.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def storeFile(self,something): |
def storeFile(self,something): |
Line 267 class OSAS_processViewer(SimpleItem,Pers
|
Line 272 class OSAS_processViewer(SimpleItem,Pers
|
return ret |
return ret |
|
|
def writefile(self,path,txt,REQUEST): |
def writefile(self,path,txt,REQUEST): |
|
"""writefile""" |
f=open(path,'w') |
f=open(path,'w') |
f.write(txt) |
f.write(txt) |
f.close() |
f.close() |
Line 277 class OSAS_processViewer(SimpleItem,Pers
|
Line 283 class OSAS_processViewer(SimpleItem,Pers
|
def view(self,number): |
def view(self,number): |
"""view page""" |
"""view page""" |
self.errnum=number |
self.errnum=number |
pt=PageTemplateFile('Products/OSA_system/processViewerView.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/processViewerView.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def error(self): |
def error(self): |
"""view errors""" |
"""view errors""" |
pt=PageTemplateFile('Products/OSA_system/processViewerError.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/processViewerError.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def manage_AddOSAS_processViewerForm(self): |
def manage_AddOSAS_processViewerForm(self): |
"""interface for adding the OSAS_processViewer""" |
"""interface for adding the OSAS_processViewer""" |
pt=PageTemplateFile('Products/OSA_system/AddOSAS_processViewer.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_processViewer.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 312 class OSAS_archiver(Folder, Persistent,I
|
Line 318 class OSAS_archiver(Folder, Persistent,I
|
{'label':'Main Config','action':'changeOSAS_archiverForm'}, |
{'label':'Main Config','action':'changeOSAS_archiverForm'}, |
) |
) |
|
|
# to be deleted later |
def unarchive(self,path): |
#startPath="/mpiwg" |
"""unarchive the path""" |
|
f = os.popen("/usr/local/mpiwg/archive/unarchiver "+path,"r") |
|
return f.readlines() |
|
|
|
def checkIfUnarchive(self,path): |
|
if not os.path.exists(path+"/index.meta"): |
|
return 0 |
|
f=file(path+"/index.meta","r").read() |
|
dom=xml.dom.minidom.parseString(f) |
|
archiveStorageDates=dom.getElementsByTagName("archive-storage-date") |
|
if archiveStorageDates: |
|
return 1 |
|
else: |
|
return 0 |
|
|
## methoden aus dem alten archive.py |
## methoden aus dem alten archive.py |
|
|
|
|
|
def isArray(self,path): |
|
"""check for array""" |
|
if type(path) == StringType: |
|
return 0 |
|
else: |
|
return 1 |
|
|
def archiver(self,path): |
def archiver(self,path): |
"""archive the documents in path""" |
"""archive the documents in path""" |
tmp=archive.archive(path,self.REQUEST.SESSION) |
tmp=archive.archive(path,self.REQUEST.SESSION) |
pt=PageTemplateFile('Products/OSA_system/archiveStatus.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/archiveStatus.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
def archive2(self): |
|
pt=PageTemplateFile('Products/OSA_system/zpt/archive2.zpt').__of__(self) |
|
return pt() |
|
|
|
|
def metachecker(self,path): |
def metachecker(self,path): |
"""check the metadata the documents in path""" |
"""check the metadata of the documents in path""" |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
self.REQUEST.SESSION['path']=self.REQUEST['path'] |
return archive.metacheck(path) |
return archive.metacheck(path) |
|
|
Line 365 class OSAS_archiver(Folder, Persistent,I
|
Line 393 class OSAS_archiver(Folder, Persistent,I
|
|
|
def getfilesystem2(self,start,reload=0): |
def getfilesystem2(self,start,reload=0): |
"""load filesystem""" |
"""load filesystem""" |
|
|
k=filesystem2(start,1) |
k=filesystem2(start,1) |
return k |
return k |
|
|
Line 385 class OSAS_archiver(Folder, Persistent,I
|
Line 412 class OSAS_archiver(Folder, Persistent,I
|
|
|
def archiver_html(self): |
def archiver_html(self): |
"""archiver""" |
"""archiver""" |
pt=PageTemplateFile('Products/OSA_system/OSAS_Archiver.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/OSAS_Archiver.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def index_html(self): |
def index_html(self): |
"""main page""" |
"""main page""" |
pt=PageTemplateFile('Products/OSA_system/archiverIndex.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/archiverIndex.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def getDate(self): |
def getDate(self): |
Line 399 class OSAS_archiver(Folder, Persistent,I
|
Line 426 class OSAS_archiver(Folder, Persistent,I
|
|
|
def newFolders_html(self): |
def newFolders_html(self): |
"""main page""" |
"""main page""" |
pt=PageTemplateFile('Products/OSA_system/newFolders.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/newFolders.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def getProducers(self): |
def getProducers(self): |
Line 425 class OSAS_archiver(Folder, Persistent,I
|
Line 452 class OSAS_archiver(Folder, Persistent,I
|
"""Erzeuge Folder im producer Verzeichnis mit ids""" |
"""Erzeuge Folder im producer Verzeichnis mit ids""" |
self.REQUEST.SESSION['producer']=producer |
self.REQUEST.SESSION['producer']=producer |
self.REQUEST.SESSION['ids']=self.idGenerator.giveIdsOut(number) |
self.REQUEST.SESSION['ids']=self.idGenerator.giveIdsOut(number) |
pt=PageTemplateFile('Products/OSA_system/createFoldersForm.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/createFoldersForm.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def createFolders(self,folderList,producer): |
def createFolders(self,folderList,producer): |
Line 443 class OSAS_archiver(Folder, Persistent,I
|
Line 470 class OSAS_archiver(Folder, Persistent,I
|
os.mkdir(self.startPath+"/"+producerFolderName+"/"+folder) |
os.mkdir(self.startPath+"/"+producerFolderName+"/"+folder) |
os.chmod(self.startPath+"/"+producerFolderName+"/"+folder,0775) |
os.chmod(self.startPath+"/"+producerFolderName+"/"+folder,0775) |
self.REQUEST.SESSION['folderList']=folders |
self.REQUEST.SESSION['folderList']=folders |
pt=PageTemplateFile('Products/OSA_system/createFolders.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/createFolders.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def storeerror(self,ret,path,context,i): |
def storeerror(self,ret,path,context,i): |
Line 467 class OSAS_archiver(Folder, Persistent,I
|
Line 494 class OSAS_archiver(Folder, Persistent,I
|
return ret |
return ret |
|
|
def writefile(self,path,txt,REQUEST): |
def writefile(self,path,txt,REQUEST): |
|
"""writefile""" |
f=open(path,'w') |
f=open(path,'w') |
f.write(txt) |
f.write(txt) |
f.close() |
f.close() |
rval=self.aq_acquire('archive2') |
return self.archive2() |
return rval() |
|
|
|
def error(self): |
def error(self): |
"""view errors""" |
"""view errors""" |
pt=PageTemplateFile('Products/OSA_system/processViewerError.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/processViewerError.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
def archiveSelected(self): |
def archiveSelected(self): |
"""Archiviere ausgewaehlte files""" |
"""Archiviere ausgewaehlte files""" |
pt=PageTemplateFile('Products/OSA_system/archiveSelected.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/archiveSelected.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def enterAcquisitionMetadata(self): |
def enterAcquisitionMetadata(self): |
Line 496 class OSAS_archiver(Folder, Persistent,I
|
Line 523 class OSAS_archiver(Folder, Persistent,I
|
|
|
def changeOSAS_archiverForm(self): |
def changeOSAS_archiverForm(self): |
"""change""" |
"""change""" |
pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_archiver.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_archiver.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def changeOSAS_archiver(self,startPath,title="",RESPONSE=None): |
def changeOSAS_archiver(self,startPath,title="",RESPONSE=None): |
Line 510 class OSAS_archiver(Folder, Persistent,I
|
Line 537 class OSAS_archiver(Folder, Persistent,I
|
|
|
def manage_AddOSAS_archiverForm(self): |
def manage_AddOSAS_archiverForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/AddOSAS_archiver.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_archiver.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
Line 546 class OSAS_producer(SimpleItem,Persisten
|
Line 573 class OSAS_producer(SimpleItem,Persisten
|
|
|
def changeOSAS_producerForm(self): |
def changeOSAS_producerForm(self): |
"""change""" |
"""change""" |
pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_producer.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/ChangeOSAS_producer.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def changeOSAS_producer(self,title,address,producerFolderName,contact="",url="",RESPONSE=None): |
def changeOSAS_producer(self,title,address,producerFolderName,contact="",url="",RESPONSE=None): |
Line 562 class OSAS_producer(SimpleItem,Persisten
|
Line 589 class OSAS_producer(SimpleItem,Persisten
|
|
|
def manage_AddOSAS_producerForm(self): |
def manage_AddOSAS_producerForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
pt=PageTemplateFile('Products/OSA_system/AddOSAS_producer.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_producer.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|