|
|
| 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') |