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