from OFS.SimpleItem import SimpleItem from time import localtime,strftime from Acquisition import Implicit from OFS.Folder import Folder from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate import urllib import re import xml.dom.minidom class OSAS_ViewerObject(Folder): """Beschreibung eines Viewers""" meta_type="OSAS_ViewerObject" def __init__(self,id,title,prefix): """init""" self.id=id self.title=title self.prefix=prefix manage_options = Folder.manage_options+( {'label':'Main Config','action':'changeViewerObjectForm'}, ) def changeViewerObjectForm(self): """Main configuration""" pt=PageTemplateFile('Products/OSA_system/zpt/changeViewerObjectForm.zpt').__of__(self) return pt() def changeViewerObject(self,title,prefix): """Change RootFolderName""" self.title=title self.prefix=prefix if RESPONSE is not None: RESPONSE.redirect('manage_main') def manage_AddOSAS_ViewerObjectForm(self): """interface for adding the viewer Object""" pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_ViewerObject.zpt').__of__(self) return pt() def manage_AddOSAS_ViewerObject(self,id,title,prefix,RESPONSE=None): """add the OSAS_root""" newObj=OSAS_ViewerObject(id,title,prefix) self._setObject(id,newObj) if RESPONSE is not None: RESPONSE.redirect('manage_main') class OSAS_Root(Folder,Implicit): """Implicit Folder of the Storage Systems""" def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl): """initialize a new instance""" self.id = id self.RootFolderName = RootFolderName self.DigILibURL=DigILibURL self.uploadServletUrl=uploadServletUrl meta_type="OSAS_Root" manage_options = Folder.manage_options+( {'label':'Main Config','action':'Root_config'}, ) def setDigILibURL(self): """set""" self.DigILibURL="" def Root_config(self): """Main configuration""" pt=PageTemplateFile('Products/OSA_system/zpt/ConfigOSAS_Root.zpt').__of__(self) return pt() def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None): """Change RootFolderName""" self.RootFolderName=RootFolderName self.DigILibURL=DigILibURL self.uploadServletUrl=uploadServletUrl if RESPONSE is not None: RESPONSE.redirect('manage_main') def date(self): """gives formatted date""" return strftime("%d.%m.%Y",localtime()) def getUploadServletUrl(self): """get url""" try: self.uploadServletUrl=uploadServletUrl except: return "http://foxridge.rz-berlin.mpg.de:8000/upload/up" def downloadExternalXML(self,index_meta_url,xml_url): """lade xml file""" xmlneu=urllib.urlopen(xml_url).read() try: dom=xml.dom.minidom.parseString(xmlneu) except: print "Error" print xmlneu return "error" path=re.sub(self.REQUEST['SERVER_URL'],'',index_meta_url) path=re.sub('http://'+self.REQUEST['HTTP_HOST'],'',index_meta_url) path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server fh=open(path,'w') fh.write(xmlneu) fh.close() return "ok" def manage_AddOSAS_RootForm(self): """interface for adding the OSAS_root""" pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_Root.zpt').__of__(self) return pt() def manage_AddOSAS_Root(self,id,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None): """add the OSAS_root""" newObj=OSAS_Root(id,RootFolderName,DigILibURL,uploadServletUrl) self._setObject(id,newObj) if RESPONSE is not None: RESPONSE.redirect('manage_main')