Annotation of OSAS/OSA_system/OSAS_archiver.py, revision 1.1
1.1 ! dwinter 1: # Methoden und Klassen fuer den MPIWG Archiver
! 2:
! 3: from OFS.Image import Image
! 4: from OFS.Folder import Folder
! 5: from OFS.SimpleItem import SimpleItem
! 6: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
! 7: from Products.PageTemplates.PageTemplate import PageTemplate
! 8: from AccessControl import ClassSecurityInfo
! 9: from Globals import InitializeClass
! 10: from Globals import Persistent
! 11: from Acquisition import Implicit
! 12: from OSAS_show import *
! 13:
! 14: import os.path
! 15: import os
! 16: import OSAS_ids
! 17: import archive #Baustelle
! 18:
! 19: class OSAS_metadataOrganizer(SimpleItem,Persistent,Implicit):
! 20: """Eingabe von Metadaten"""
! 21:
! 22: meta_type="OSAS_metadataOrganizer"
! 23:
! 24: def __init__(self,id,title):
! 25: """init"""
! 26: self.id=id
! 27: self.title=title
! 28: #self.acquisitionData=['provider_name','provider_address','provider_contact','provider_url','date','description']
! 29:
! 30: def addAcquisition(self,path):
! 31: """Hinzufügen von Acquisition Daten"""
! 32: self.REQUEST.SESSION['path']=path
! 33: pt=PageTemplateFile('Products/OSA_system/inputAcquisitionData.zpt').__of__(self)
! 34: return pt()
! 35:
! 36: def writeAcquisitionMetadata(self,producer,date,path,description=""):
! 37: """Schreibe Acquisiondata in index.meta"""
! 38:
! 39: def manage_AddOSAS_metadataOrganizerForm(self):
! 40: """interface for adding the OSAS_root"""
! 41: pt=PageTemplateFile('Products/OSA_system/AddOSAS_metadataOrganizer.zpt').__of__(self)
! 42: return pt()
! 43:
! 44:
! 45: def manage_AddOSAS_metadataOrganizer(self,id,title="",RESPONSE=None):
! 46: """add the OSAS_root"""
! 47: if title=="":
! 48: title=id
! 49:
! 50: newObj=OSAS_metadataOrganizer(id, title)
! 51: self._setObject(id,newObj)
! 52: if RESPONSE is not None:
! 53: RESPONSE.redirect('manage_main')
! 54:
! 55:
! 56: class OSAS_processViewer(SimpleItem,Persistent,Implicit):
! 57: """Process viewer for archiving"""
! 58:
! 59: meta_type="OSAS_processViewer"
! 60:
! 61: def __init__(self, id, title):
! 62: """init"""
! 63: self.id=id
! 64: self.title=title
! 65:
! 66: def index_html(self):
! 67: """main page"""
! 68: pt=PageTemplateFile('Products/OSA_system/processViewerIndex.zpt').__of__(self)
! 69: return pt()
! 70:
! 71: def storeFile(self,something):
! 72: """store info in session"""
! 73: self.REQUEST.SESSION['something']=something
! 74: return 1
! 75:
! 76: def getFile(self):
! 77: """get info from session"""
! 78: return self.REQUEST.SESSION['something']
! 79:
! 80: def getoverview(self,path):
! 81: """get overview"""
! 82: return archive.overview(path)
! 83:
! 84: def storeerror(self,ret,path,context,i):
! 85: """store an error"""
! 86: session=context.REQUEST.SESSION
! 87: session['error%i'%i]=ret
! 88: session['path%i'%i]=path
! 89:
! 90: return 'error?number=%i'%i
! 91:
! 92: def view(self):
! 93: """view page"""
! 94: pt=PageTemplateFile('Products/OSA_system/processViewerView.zpt').__of__(self)
! 95: return pt()
! 96:
! 97: def manage_AddOSAS_processViewerForm(self):
! 98: """interface for adding the OSAS_processViewer"""
! 99: pt=PageTemplateFile('Products/OSA_system/AddOSAS_processViewer.zpt').__of__(self)
! 100: return pt()
! 101:
! 102:
! 103: def manage_AddOSAS_processViewer(self,id,title="",RESPONSE=None):
! 104: """add the OSAS_processViewer"""
! 105: if title=="":
! 106: title=id
! 107:
! 108: newObj=OSAS_processViewer(id, title)
! 109: self._setObject(id,newObj)
! 110: if RESPONSE is not None:
! 111: RESPONSE.redirect('manage_main')
! 112:
! 113:
! 114:
! 115: class OSAS_archiver(Folder, Persistent,Implicit):
! 116: """Hauptklasse fuer das Archiv"""
! 117:
! 118: meta_type="OSAS_archiver"
! 119:
! 120: # to be deleted later
! 121: #startPath="/mpiwg"
! 122: ## methoden aus dem alten archive.py
! 123:
! 124: def archiver(self,path):
! 125: """archive the documents in path"""
! 126: tmp=archive.archive(path,self.REQUEST.SESSION)
! 127: pt=PageTemplateFile('Products/OSA_system/archiveStatus.zpt').__of__(self)
! 128: return pt()
! 129:
! 130:
! 131:
! 132:
! 133: def metachecker(self,path):
! 134: """check the metadata the documents in path"""
! 135: self.REQUEST.SESSION['path']=self.REQUEST['path']
! 136: return archive.metacheck(path)
! 137:
! 138: ## methods from OSAS_show
! 139: def changeName(self,name):
! 140: return changeName(name)
! 141:
! 142: def hasMetafile(self,path):
! 143: return hasMetafile(path)
! 144:
! 145: def getMetafile(self,path):
! 146: return getMetafile(path)
! 147:
! 148: def toggle_view(self,path,file):
! 149: """Oeffnen bzw. schließen der Subfolders"""
! 150: self.tree(path).toggle(path,file)
! 151: return self.REQUEST.RESPONSE.redirect(self.REQUEST['URL1']+"?path="+path)
! 152:
! 153:
! 154:
! 155: def isdigilib2(self,path):
! 156: """check if digilib"""
! 157: return isdigilib2(path)
! 158:
! 159: def path_to_link_view(self,path):
! 160: """generates navigation bar for viewfiles"""
! 161: return path_to_link_view(self.REQUEST['URL'],path)
! 162:
! 163:
! 164: def tree(self,start):
! 165: """get the filetree"""
! 166: k=browse(start)
! 167: return k
! 168:
! 169: def getfilesystem2(self,start,reload=0):
! 170: """load filesystem"""
! 171:
! 172: k=filesystem2(start,1)
! 173: return k
! 174:
! 175: def getfilesystem(self,start,reload=0):
! 176: """load filesystem"""
! 177:
! 178: k=filesystem(start,1)
! 179: return k
! 180:
! 181:
! 182: ##init
! 183: def __init__(self, id, title,startPath):
! 184: """init"""
! 185: self.id=id
! 186: self.title=title
! 187: self.startPath=startPath
! 188:
! 189: def archiver_html(self):
! 190: """archiver"""
! 191: pt=PageTemplateFile('Products/OSA_system/OSAS_Archiver.zpt').__of__(self)
! 192: return pt()
! 193:
! 194: def index_html(self):
! 195: """main page"""
! 196: pt=PageTemplateFile('Products/OSA_system/archiverIndex.zpt').__of__(self)
! 197: return pt()
! 198:
! 199: def newFolders_html(self):
! 200: """main page"""
! 201: pt=PageTemplateFile('Products/OSA_system/newFolders.zpt').__of__(self)
! 202: return pt()
! 203:
! 204: def getProducers(self):
! 205: """Ausgabe der registrierten Benutzer"""
! 206: ret=[]
! 207: #print self.aq_parent.__dict__
! 208: for list in self.producerFolder.__dict__:
! 209: obj=getattr(self.producerFolder,list)
! 210: if (hasattr(obj,"meta_type")):
! 211: if (obj.meta_type=="OSAS_producer"):
! 212: ret.append(obj.getId())
! 213: return ret
! 214:
! 215: def getProducer(self,id):
! 216: """Gebe ProducerObjekt zurück"""
! 217: obj=getattr(self.aq_parent.producerFolder,id)
! 218: return obj
! 219:
! 220:
! 221:
! 222: def createFoldersForm(self,producer,number):
! 223: """Erzeuge Folder im producer Verzeichnis mit ids"""
! 224: self.REQUEST.SESSION['producer']=producer
! 225: self.REQUEST.SESSION['ids']=self.idGenerator.giveIdsOut(number)
! 226: pt=PageTemplateFile('Products/OSA_system/createFoldersForm.zpt').__of__(self)
! 227: return pt()
! 228:
! 229: def createFolders(self,folderList,producer):
! 230: """Erzeug die entsprechenden Folder"""
! 231: for folder in folderList:
! 232: os.mkdir(self.startPath+"/"+producer+"/"+folder)
! 233: self.REQUEST.SESSION['folderList']=folderList
! 234: pt=PageTemplateFile('Products/OSA_system/createFolders.zpt').__of__(self)
! 235: return pt()
! 236:
! 237: def archiveSelected(self):
! 238: """Archiviere ausgewaehlte files"""
! 239: pt=PageTemplateFile('Products/OSA_system/archiveSelected.zpt').__of__(self)
! 240: return pt()
! 241:
! 242: def enterAcquisitionMetadata(self):
! 243: """Erstelle Metadaten fuer Acquisition"""
! 244:
! 245: def enterPreliminaryBibMeta(self):
! 246: """Erstelle Metadaten fuer Bibliography"""
! 247:
! 248: def showFilesForArchiving(self):
! 249: """Anzeige der noch zu archivieren Files"""
! 250:
! 251:
! 252:
! 253:
! 254:
! 255: def manage_AddOSAS_archiverForm(self):
! 256: """interface for adding the OSAS_root"""
! 257: pt=PageTemplateFile('Products/OSA_system/AddOSAS_archiver.zpt').__of__(self)
! 258: return pt()
! 259:
! 260:
! 261: def manage_AddOSAS_archiver(self,id,startPath,title="",RESPONSE=None):
! 262: """add the OSAS_root"""
! 263: if title=="":
! 264: title=id
! 265:
! 266: newObj=OSAS_archiver(id, title,startPath)
! 267: self._setObject(id,newObj)
! 268: if RESPONSE is not None:
! 269: RESPONSE.redirect('manage_main')
! 270:
! 271:
! 272: class OSAS_producer(Image,Persistent,Implicit):
! 273: """Klasse fuer Produzenteninformationen"""
! 274:
! 275: meta_type="OSAS_producer"
! 276:
! 277: def __init__(self,shortName,fullName):
! 278:
! 279: self.id=shortName
! 280: self.title=fullName
! 281:
! 282:
! 283: def manage_AddOSAS_producerForm(self):
! 284: """interface for adding the OSAS_root"""
! 285: pt=PageTemplateFile('Products/OSA_system/AddOSAS_producer.zpt').__of__(self)
! 286: return pt()
! 287:
! 288:
! 289: def manage_AddOSAS_producer(self,id,title="",RESPONSE=None):
! 290: """add the OSAS_root"""
! 291: if title=="":
! 292: title=id
! 293:
! 294: newObj=OSAS_producer(id, title)
! 295: self._setObject(id,newObj)
! 296: if RESPONSE is not None:
! 297: RESPONSE.redirect('manage_main')
! 298:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>