version 1.4, 2003/12/23 15:17:37
|
version 1.8, 2004/01/07 15:29:01
|
Line 11 from Globals import Persistent
|
Line 11 from Globals import Persistent
|
from Acquisition import Implicit |
from Acquisition import Implicit |
from OSAS_show import * |
from OSAS_show import * |
from OSAS_helpers import * |
from OSAS_helpers import * |
|
from types import * |
|
|
import os.path |
import os.path |
import os |
import os |
Line 30 class OSAS_archiveInbox(SimpleItem,Persi
|
Line 31 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]) |
self.pathes.append([path,today]) |
|
if RESPONSE: |
|
RESPONSE.redirect("index_html") |
|
|
def index_html(self): |
def index_html(self): |
"""main""" |
"""main""" |
Line 80 class OSAS_metadataOrganizer(SimpleItem,
|
Line 84 class OSAS_metadataOrganizer(SimpleItem,
|
self.title=title |
self.title=title |
#self.acquisitionData=['provider_name','provider_address','provider_contact','provider_url','date','description'] |
#self.acquisitionData=['provider_name','provider_address','provider_contact','provider_url','date','description'] |
|
|
|
|
|
def getName(self): |
|
"""gives name from request session path""" |
|
path=self.REQUEST.SESSION['path'] |
|
splitted=path.split("/") |
|
return splitted[len(splitted)-1] |
|
|
|
def addRessourceMeta(self,path=None,RESPONSE=None): |
|
"""Metadaten fuer Ressource""" |
|
if not path: |
|
path=self.REQUEST.SESSION['path'] |
|
|
|
else: |
|
self.REQUEST.SESSION['path']=path |
|
|
|
pt=PageTemplateFile('Products/OSA_system/inputRessourceData.zpt').__of__(self) |
|
return pt() |
|
|
|
|
|
def writeRessourceMetadata(self,name,date,description,creator,RESPONSE=None): |
|
"""schreibe Resourcedata in index.meta""" |
|
|
|
path=self.REQUEST.SESSION['path'] |
|
|
|
subnodes={} |
|
subnodes['name']=name |
|
subnodes['archive-creation-date']=date |
|
subnodes['creator']=creator |
|
subnodes['description']=description |
|
|
|
changeNodesInIndexMeta(path,"",subnodes) |
|
self.inbox.addPath(self.REQUEST.SESSION['path']) |
|
RESPONSE.redirect(self.REQUEST['URL2']) |
|
|
|
|
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/inputAcquisitionData.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
|
def writeAcquisitionMetadata(self,date,path,media_type,producer="mpiwg",description=""): |
def writeAcquisitionMetadata(self,date,path,media_type,producer="mpiwg",description=""): |
"""Schreibe Acquisiondata in index.meta""" |
"""Schreibe Acquisiondata in index.meta""" |
|
|
Line 151 class OSAS_metadataOrganizer(SimpleItem,
|
Line 191 class OSAS_metadataOrganizer(SimpleItem,
|
#for key in form.keys(): |
#for key in form.keys(): |
# subnodes[key]=form['device'] |
# subnodes[key]=form['device'] |
subnodes=form |
subnodes=form |
|
del subnodes['bibdata_type'] #in form but not metadata |
changeNodesInIndexMeta(self.REQUEST.SESSION['path'],"bib",subnodes,nodeAttributes={'type':bibdata_type},parent="meta") |
changeNodesInIndexMeta(self.REQUEST.SESSION['path'],"bib",subnodes,nodeAttributes={'type':bibdata_type},parent="meta") |
self.inbox.addPath(self.REQUEST.SESSION['path']) |
#return self.REQUEST |
RESPONSE.redirect(self.REQUEST['URL2']) |
return self.addRessourceMeta() |
|
|
|
|
|
|
Line 198 class OSAS_processViewer(SimpleItem,Pers
|
Line 239 class OSAS_processViewer(SimpleItem,Pers
|
self.REQUEST.SESSION['something']=something |
self.REQUEST.SESSION['something']=something |
return 1 |
return 1 |
|
|
def getFile(self): |
def getFile(self,number): |
"""get info from session""" |
"""get info from session""" |
return self.REQUEST.SESSION['something'] |
check=self.getoverview('/var/tmp/archiver').messages()[number] |
|
return check |
|
|
def getoverview(self,path): |
def getoverview(self,path): |
"""get overview""" |
"""get overview""" |
Line 228 class OSAS_processViewer(SimpleItem,Pers
|
Line 270 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 235 class OSAS_processViewer(SimpleItem,Pers
|
Line 278 class OSAS_processViewer(SimpleItem,Pers
|
return rval() |
return rval() |
|
|
|
|
def view(self): |
def view(self,number): |
"""view page""" |
"""view page""" |
|
self.errnum=number |
pt=PageTemplateFile('Products/OSA_system/processViewerView.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/processViewerView.zpt').__of__(self) |
return pt() |
return pt() |
|
|
Line 268 class OSAS_archiver(Folder, Persistent,I
|
Line 312 class OSAS_archiver(Folder, Persistent,I
|
|
|
meta_type="OSAS_archiver" |
meta_type="OSAS_archiver" |
|
|
# to be deleted later |
manage_options = Folder.manage_options+( |
#startPath="/mpiwg" |
{'label':'Main Config','action':'changeOSAS_archiverForm'}, |
|
) |
|
|
|
def unarchive(self,path): |
|
"""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 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/archiveStatus.zpt').__of__(self) |
return pt() |
return pt() |
|
|
|
def archive2(self): |
|
pt=PageTemplateFile('Products/OSA_system/archive2.zpt').__of__(self) |
|
return pt() |
|
|
|
|
def metachecker(self,path): |
def metachecker(self,path): |
Line 372 class OSAS_archiver(Folder, Persistent,I
|
Line 437 class OSAS_archiver(Folder, Persistent,I
|
|
|
def getProducer(self,id): |
def getProducer(self,id): |
"""Gebe ProducerObjekt zurück""" |
"""Gebe ProducerObjekt zurück""" |
obj=getattr(self.aq_parent.producerFolder,id) |
obj=getattr(self.producerFolder,id) |
return obj |
return obj |
|
|
|
|
Line 386 class OSAS_archiver(Folder, Persistent,I
|
Line 451 class OSAS_archiver(Folder, Persistent,I
|
|
|
def createFolders(self,folderList,producer): |
def createFolders(self,folderList,producer): |
"""Erzeug die entsprechenden Folder""" |
"""Erzeug die entsprechenden Folder""" |
for folder in folderList: |
#hack |
os.mkdir(self.startPath+"/"+producer+"/"+folder) |
#producer="library" |
self.REQUEST.SESSION['folderList']=folderList |
if type(folderList)==StringType: |
|
folders=[folderList] |
|
else: |
|
folders=folderList |
|
#return producer |
|
producerFolderName=self.getProducer(producer).producerFolderName |
|
|
|
for folder in folders: |
|
os.mkdir(self.startPath+"/"+producerFolderName+"/"+folder) |
|
os.chmod(self.startPath+"/"+producerFolderName+"/"+folder,0775) |
|
self.REQUEST.SESSION['folderList']=folders |
pt=PageTemplateFile('Products/OSA_system/createFolders.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/createFolders.zpt').__of__(self) |
return pt() |
return pt() |
|
|
Line 413 class OSAS_archiver(Folder, Persistent,I
|
Line 488 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""" |
Line 440 class OSAS_archiver(Folder, Persistent,I
|
Line 515 class OSAS_archiver(Folder, Persistent,I
|
"""Anzeige der noch zu archivieren Files""" |
"""Anzeige der noch zu archivieren Files""" |
|
|
|
|
|
def changeOSAS_archiverForm(self): |
|
"""change""" |
|
pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_archiver.zpt').__of__(self) |
|
return pt() |
|
|
|
def changeOSAS_archiver(self,startPath,title="",RESPONSE=None): |
|
"""change""" |
|
self.startPath=startPath |
|
self.title=title |
|
|
|
if RESPONSE is not None: |
|
RESPONSE.redirect('manage_main') |
|
|
|
|
def manage_AddOSAS_archiverForm(self): |
def manage_AddOSAS_archiverForm(self): |
Line 466 class OSAS_producer(SimpleItem,Persisten
|
Line 552 class OSAS_producer(SimpleItem,Persisten
|
|
|
meta_type="OSAS_producer" |
meta_type="OSAS_producer" |
|
|
def __init__(self,shortName,fullName,address="",url="",contact=""): |
def __init__(self,shortName,fullName,producerFolderName,address="",url="",contact=""): |
|
|
self.id=shortName |
self.id=shortName |
self.title=fullName |
self.title=fullName |
self.address=address |
self.address=address |
self.url=url |
self.url=url |
self.contact=contact |
self.contact=contact |
|
self.producerFolderName=producerFolderName |
|
|
manage_options = SimpleItem.manage_options+( |
manage_options = SimpleItem.manage_options+( |
{'label':'Main Config','action':'changeOSAS_producerForm'}, |
{'label':'Main Config','action':'changeOSAS_producerForm'}, |
Line 483 class OSAS_producer(SimpleItem,Persisten
|
Line 570 class OSAS_producer(SimpleItem,Persisten
|
pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_producer.zpt').__of__(self) |
pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_producer.zpt').__of__(self) |
return pt() |
return pt() |
|
|
def changeOSAS_producer(self,title,address,contact="",url=""): |
def changeOSAS_producer(self,title,address,producerFolderName,contact="",url="",RESPONSE=None): |
"""change""" |
"""change""" |
self.title=fullName |
self.title=title |
self.address=address |
self.address=address |
self.url=url |
self.url=url |
self.contact=contact |
self.contact=contact |
|
self.producerFolderName=producerFolderName |
|
|
|
if RESPONSE: |
|
RESPONSE.redirect("manage_main") |
|
|
def manage_AddOSAS_producerForm(self): |
def manage_AddOSAS_producerForm(self): |
"""interface for adding the OSAS_root""" |
"""interface for adding the OSAS_root""" |
Line 496 def manage_AddOSAS_producerForm(self):
|
Line 587 def manage_AddOSAS_producerForm(self):
|
return pt() |
return pt() |
|
|
|
|
def manage_AddOSAS_producer(self,id,title="",contact="",address="",url="",RESPONSE=None): |
def manage_AddOSAS_producer(self,id,producerFolderName,title="",contact="",address="",url="",RESPONSE=None): |
"""add the OSAS_root""" |
"""add the OSAS_root""" |
if title=="": |
if title=="": |
title=id |
title=id |
|
|
newObj=OSAS_producer(id, title,address,contact,url) |
newObj=OSAS_producer(id, title,producerFolderName,address,contact,url) |
self._setObject(id,newObj) |
self._setObject(id,newObj) |
if RESPONSE is not None: |
if RESPONSE is not None: |
RESPONSE.redirect('manage_main') |
RESPONSE.redirect('manage_main') |