--- OSAS/OSA_system/OSAS_archiver.py 2004/01/06 14:39:49 1.6 +++ OSAS/OSA_system/OSAS_archiver.py 2004/01/08 17:00:39 1.9 @@ -31,9 +31,14 @@ class OSAS_archiveInbox(SimpleItem,Persi self.title=title self.pathes=[] - def addPath(self,path): + def addPath(self,path,RESPONSE=None): + """add a path""" 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): """main""" @@ -267,6 +272,7 @@ class OSAS_processViewer(SimpleItem,Pers return ret def writefile(self,path,txt,REQUEST): + """writefile""" f=open(path,'w') f.write(txt) f.close() @@ -312,19 +318,36 @@ class OSAS_archiver(Folder, Persistent,I {'label':'Main Config','action':'changeOSAS_archiverForm'}, ) - # to be deleted later - #startPath="/mpiwg" + 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 - + + def archiver(self,path): """archive the documents in path""" tmp=archive.archive(path,self.REQUEST.SESSION) pt=PageTemplateFile('Products/OSA_system/archiveStatus.zpt').__of__(self) return pt() - + def archive2(self): + pt=PageTemplateFile('Products/OSA_system/archive2.zpt').__of__(self) + return pt() def metachecker(self,path): @@ -416,7 +439,7 @@ class OSAS_archiver(Folder, Persistent,I def getProducer(self,id): """Gebe ProducerObjekt zurück""" - obj=getattr(self.aq_parent.producerFolder,id) + obj=getattr(self.producerFolder,id) return obj @@ -431,16 +454,17 @@ class OSAS_archiver(Folder, Persistent,I def createFolders(self,folderList,producer): """Erzeug die entsprechenden Folder""" #hack - producer="library" + #producer="library" if type(folderList)==StringType: folders=[folderList] else: folders=folderList - + #return producer + producerFolderName=self.getProducer(producer).producerFolderName for folder in folders: - os.mkdir(self.startPath+"/"+producer+"/"+folder) - os.chmod(self.startPath+"/"+producer+"/"+folder,0775) + 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) return pt() @@ -466,11 +490,11 @@ class OSAS_archiver(Folder, Persistent,I return ret def writefile(self,path,txt,REQUEST): + """writefile""" f=open(path,'w') f.write(txt) f.close() - rval=self.aq_acquire('archive2') - return rval() + return self.archive2() def error(self): """view errors""" @@ -530,14 +554,15 @@ class OSAS_producer(SimpleItem,Persisten 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.title=fullName self.address=address self.url=url self.contact=contact - + self.producerFolderName=producerFolderName + manage_options = SimpleItem.manage_options+( {'label':'Main Config','action':'changeOSAS_producerForm'}, ) @@ -547,25 +572,29 @@ class OSAS_producer(SimpleItem,Persisten pt=PageTemplateFile('Products/OSA_system/ChangeOSAS_producer.zpt').__of__(self) return pt() - def changeOSAS_producer(self,title,address,contact="",url=""): + def changeOSAS_producer(self,title,address,producerFolderName,contact="",url="",RESPONSE=None): """change""" - self.title=fullName + self.title=title self.address=address self.url=url self.contact=contact + self.producerFolderName=producerFolderName + if RESPONSE: + RESPONSE.redirect("manage_main") + def manage_AddOSAS_producerForm(self): """interface for adding the OSAS_root""" pt=PageTemplateFile('Products/OSA_system/AddOSAS_producer.zpt').__of__(self) 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""" if title=="": title=id - newObj=OSAS_producer(id, title,address,contact,url) + newObj=OSAS_producer(id, title,producerFolderName,address,contact,url) self._setObject(id,newObj) if RESPONSE is not None: RESPONSE.redirect('manage_main')