Annotation of OSAS/OSA_system/OSAS_Root.py, revision 1.13
1.11 dwinter 1: from OFS.SimpleItem import SimpleItem
1.2 dwinter 2: from time import localtime,strftime
3: from Acquisition import Implicit
1.1 dwinter 4: from OFS.Folder import Folder
5: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
6: from Products.PageTemplates.PageTemplate import PageTemplate
1.8 dwinter 7: import urllib
1.9 dwinter 8: import re
1.13 ! dwinter 9: import xml.dom.minidom
1.1 dwinter 10:
1.11 dwinter 11: class OSAS_ViewerObject(Folder):
12: """Beschreibung eines Viewers"""
13: meta_type="OSAS_ViewerObject"
14:
15: def __init__(self,id,title,prefix):
16: """init"""
17: self.id=id
18: self.title=title
19: self.prefix=prefix
20:
21: manage_options = Folder.manage_options+(
22: {'label':'Main Config','action':'changeViewerObjectForm'},
23: )
24:
25: def changeViewerObjectForm(self):
26: """Main configuration"""
27: pt=PageTemplateFile('Products/OSA_system/zpt/changeViewerObjectForm.zpt').__of__(self)
28: return pt()
29:
30: def changeViewerObject(self,title,prefix):
31: """Change RootFolderName"""
32: self.title=title
33: self.prefix=prefix
34:
35:
36: if RESPONSE is not None:
37: RESPONSE.redirect('manage_main')
38:
39:
40: def manage_AddOSAS_ViewerObjectForm(self):
41: """interface for adding the viewer Object"""
42: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_ViewerObject.zpt').__of__(self)
43: return pt()
44:
45: def manage_AddOSAS_ViewerObject(self,id,title,prefix,RESPONSE=None):
46: """add the OSAS_root"""
47: newObj=OSAS_ViewerObject(id,title,prefix)
48: self._setObject(id,newObj)
49: if RESPONSE is not None:
50: RESPONSE.redirect('manage_main')
51:
52:
1.2 dwinter 53: class OSAS_Root(Folder,Implicit):
54: """Implicit Folder of the Storage Systems"""
1.7 dwinter 55: def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl):
1.1 dwinter 56: """initialize a new instance"""
57: self.id = id
58: self.RootFolderName = RootFolderName
1.5 dwinter 59: self.DigILibURL=DigILibURL
1.7 dwinter 60: self.uploadServletUrl=uploadServletUrl
1.5 dwinter 61:
1.1 dwinter 62: meta_type="OSAS_Root"
63:
64: manage_options = Folder.manage_options+(
65: {'label':'Main Config','action':'Root_config'},
66: )
67:
1.11 dwinter 68:
69:
1.6 dwinter 70: def setDigILibURL(self):
71: """set"""
72: self.DigILibURL=""
73:
1.1 dwinter 74: def Root_config(self):
75: """Main configuration"""
1.4 dwinter 76: pt=PageTemplateFile('Products/OSA_system/zpt/ConfigOSAS_Root.zpt').__of__(self)
1.1 dwinter 77: return pt()
78:
1.7 dwinter 79: def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
1.1 dwinter 80: """Change RootFolderName"""
81: self.RootFolderName=RootFolderName
1.5 dwinter 82: self.DigILibURL=DigILibURL
1.7 dwinter 83: self.uploadServletUrl=uploadServletUrl
84:
1.1 dwinter 85: if RESPONSE is not None:
86: RESPONSE.redirect('manage_main')
1.2 dwinter 87:
88: def date(self):
89: """gives formatted date"""
90: return strftime("%d.%m.%Y",localtime())
1.1 dwinter 91:
1.7 dwinter 92: def getUploadServletUrl(self):
93: """get url"""
94: try:
95: self.uploadServletUrl=uploadServletUrl
96: except:
97: return "http://foxridge.rz-berlin.mpg.de:8000/upload/up"
1.8 dwinter 98:
99: def downloadExternalXML(self,index_meta_url,xml_url):
100: """lade xml file"""
1.10 dwinter 101:
1.8 dwinter 102: xmlneu=urllib.urlopen(xml_url).read()
1.9 dwinter 103:
1.13 ! dwinter 104: try:
! 105: dom=xml.dom.minidom.parseString(xmlneu)
! 106: except:
! 107: print "Error"
! 108: print xmlneu
! 109: return "error"
! 110:
! 111: path=re.sub(self.REQUEST['SERVER_URL'],'',index_meta_url)
! 112: path=re.sub('http://'+self.REQUEST['HTTP_HOST'],'',index_meta_url)
! 113:
! 114: path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
! 115: path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
! 116: path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
1.12 dwinter 117:
1.10 dwinter 118:
1.13 ! dwinter 119: fh=open(path,'w')
1.9 dwinter 120:
1.8 dwinter 121: fh.write(xmlneu)
122: fh.close()
123: return "ok"
124:
1.13 ! dwinter 125:
1.1 dwinter 126: def manage_AddOSAS_RootForm(self):
127: """interface for adding the OSAS_root"""
1.4 dwinter 128: pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_Root.zpt').__of__(self)
1.1 dwinter 129: return pt()
130:
1.7 dwinter 131: def manage_AddOSAS_Root(self,id,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
1.1 dwinter 132: """add the OSAS_root"""
1.7 dwinter 133: newObj=OSAS_Root(id,RootFolderName,DigILibURL,uploadServletUrl)
1.1 dwinter 134: self._setObject(id,newObj)
135: if RESPONSE is not None:
136: RESPONSE.redirect('manage_main')
137:
138:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>