1: from time import localtime,strftime
2: from Acquisition import Implicit
3: from OFS.Folder import Folder
4: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
5: from Products.PageTemplates.PageTemplate import PageTemplate
6: import urllib
7: import re
8:
9: class OSAS_Root(Folder,Implicit):
10: """Implicit Folder of the Storage Systems"""
11: def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl):
12: """initialize a new instance"""
13: self.id = id
14: self.RootFolderName = RootFolderName
15: self.DigILibURL=DigILibURL
16: self.uploadServletUrl=uploadServletUrl
17:
18: meta_type="OSAS_Root"
19:
20: manage_options = Folder.manage_options+(
21: {'label':'Main Config','action':'Root_config'},
22: )
23:
24: def setDigILibURL(self):
25: """set"""
26: self.DigILibURL=""
27:
28: def Root_config(self):
29: """Main configuration"""
30: pt=PageTemplateFile('Products/OSA_system/zpt/ConfigOSAS_Root.zpt').__of__(self)
31: return pt()
32:
33: def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
34: """Change RootFolderName"""
35: self.RootFolderName=RootFolderName
36: self.DigILibURL=DigILibURL
37: self.uploadServletUrl=uploadServletUrl
38:
39: if RESPONSE is not None:
40: RESPONSE.redirect('manage_main')
41:
42: def date(self):
43: """gives formatted date"""
44: return strftime("%d.%m.%Y",localtime())
45:
46: def getUploadServletUrl(self):
47: """get url"""
48: try:
49: self.uploadServletUrl=uploadServletUrl
50: except:
51: return "http://foxridge.rz-berlin.mpg.de:8000/upload/up"
52:
53: def downloadExternalXML(self,index_meta_url,xml_url):
54: """lade xml file"""
55:
56: xmlneu=urllib.urlopen(xml_url).read()
57:
58: path=re.sub(self.REQUEST['SERVER_URL'],'',index_meta_url)
59: path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
60: path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
61:
62:
63: fh=open(path,'w')
64: fh.write(xmlneu)
65: fh.close()
66: return "ok"
67:
68: def manage_AddOSAS_RootForm(self):
69: """interface for adding the OSAS_root"""
70: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_Root.zpt').__of__(self)
71: return pt()
72:
73: def manage_AddOSAS_Root(self,id,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
74: """add the OSAS_root"""
75: newObj=OSAS_Root(id,RootFolderName,DigILibURL,uploadServletUrl)
76: self._setObject(id,newObj)
77: if RESPONSE is not None:
78: RESPONSE.redirect('manage_main')
79:
80:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>