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