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>