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