Annotation of OSAS/OSA_system/OSAS_Root.py, revision 1.20

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.20    ! dwinter     8: import sys
1.17      dwinter     9: import zLOG
1.9       dwinter    10: import re
1.13      dwinter    11: import xml.dom.minidom
1.19      dwinter    12: import os.path
                     13: from Globals import package_home
1.1       dwinter    14: 
1.11      dwinter    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"""
1.18      dwinter    31:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeViewerObjectForm.zpt')).__of__(self)
1.11      dwinter    32:         return pt()
                     33: 
1.19      dwinter    34:     def changeViewerObject(self,title,prefix,RESPONSE=None):
1.11      dwinter    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"""
1.18      dwinter    46:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_ViewerObject.zpt')).__of__(self)
1.11      dwinter    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:     
1.2       dwinter    57: class OSAS_Root(Folder,Implicit):
                     58:     """Implicit Folder of the  Storage Systems"""
1.7       dwinter    59:     def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl):
1.1       dwinter    60:         """initialize a new instance"""
                     61:         self.id = id
                     62:         self.RootFolderName = RootFolderName
1.5       dwinter    63:         self.DigILibURL=DigILibURL
1.7       dwinter    64:         self.uploadServletUrl=uploadServletUrl
1.5       dwinter    65:         
1.1       dwinter    66:     meta_type="OSAS_Root"
                     67: 
                     68:     manage_options = Folder.manage_options+(
                     69:         {'label':'Main Config','action':'Root_config'},
                     70:         )
                     71: 
1.11      dwinter    72:     
                     73:         
1.6       dwinter    74:     def setDigILibURL(self):
                     75:         """set"""
                     76:         self.DigILibURL=""
                     77:         
1.1       dwinter    78:     def Root_config(self):
                     79:         """Main configuration"""
1.18      dwinter    80:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ConfigOSAS_Root.zpt')).__of__(self)
1.1       dwinter    81:         return pt()
                     82: 
1.7       dwinter    83:     def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
1.1       dwinter    84:         """Change RootFolderName"""
                     85:         self.RootFolderName=RootFolderName
1.5       dwinter    86:         self.DigILibURL=DigILibURL
1.7       dwinter    87:         self.uploadServletUrl=uploadServletUrl
                     88:         
1.1       dwinter    89:         if RESPONSE is not None:
                     90:             RESPONSE.redirect('manage_main')
1.2       dwinter    91: 
                     92:     def date(self):
                     93:         """gives formatted date"""
                     94:    return strftime("%d.%m.%Y",localtime()) 
1.1       dwinter    95: 
1.7       dwinter    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"
1.8       dwinter   102: 
                    103:     def downloadExternalXML(self,index_meta_url,xml_url):
                    104:         """lade xml file"""
1.15      dwinter   105:         #print "GI"
                    106:         #print xml_url
1.20    ! dwinter   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"
1.13      dwinter   113:         try:
                    114:             dom=xml.dom.minidom.parseString(xmlneu)
                    115:         except:
                    116:             print "Error"
1.16      dwinter   117:             return repr(xml_url)
1.13      dwinter   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
1.14      dwinter   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: 
1.13      dwinter   127:         path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
1.14      dwinter   128:         path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server
1.16      dwinter   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
1.13      dwinter   132:         fh=open(path,'w')
1.17      dwinter   133:    zLOG.LOG("OSAS",zLOG.INFO,path)
1.8       dwinter   134:         fh.write(xmlneu)
                    135:         fh.close()
                    136:         return "ok"
                    137: 
1.13      dwinter   138:         
1.1       dwinter   139: def manage_AddOSAS_RootForm(self):
                    140:     """interface for adding the OSAS_root"""
1.18      dwinter   141:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_Root.zpt')).__of__(self)
1.1       dwinter   142:     return pt()
                    143: 
1.7       dwinter   144: def manage_AddOSAS_Root(self,id,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
1.1       dwinter   145:     """add the OSAS_root"""
1.7       dwinter   146:     newObj=OSAS_Root(id,RootFolderName,DigILibURL,uploadServletUrl)
1.1       dwinter   147:     self._setObject(id,newObj)
                    148:     if RESPONSE is not None:
                    149:         RESPONSE.redirect('manage_main')
                    150: 
                    151:     

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>