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
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 getImageViewers(self):
"""images"""
viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject'])
return viewers
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()
path=re.sub(self.REQUEST['SERVER_URL'],'',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','',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')
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>