File:  [Repository] / OSAS / OSA_system / OSAS_Root.py
Revision 1.20: download - view: text, annotated - select for diffs - revision graph
Tue Feb 14 17:42:37 2006 UTC (18 years, 4 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
minor

    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>