Diff for /OSAS/OSA_system/OSAS_archiver.py between versions 1.6 and 1.11

version 1.6, 2004/01/06 14:39:49 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 416  class OSAS_archiver(Folder, Persistent,I Line 443  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 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):
         """Erzeug die entsprechenden Folder"""          """Erzeug die entsprechenden Folder"""
         #hack          #hack
         producer="library"          #producer="library"
         if type(folderList)==StringType:          if type(folderList)==StringType:
             folders=[folderList]              folders=[folderList]
         else:          else:
             folders=folderList              folders=folderList
                   #return producer
           producerFolderName=self.getProducer(producer).producerFolderName
                   
         for folder in folders:          for folder in folders:
             os.mkdir(self.startPath+"/"+producer+"/"+folder)              os.mkdir(self.startPath+"/"+producerFolderName+"/"+folder)
             os.chmod(self.startPath+"/"+producer+"/"+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 466  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 495  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 509  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 530  class OSAS_producer(SimpleItem,Persisten Line 558  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 544  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,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"""
     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()
   
   
 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')

Removed from v.1.6  
changed lines
  Added in v.1.11


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>