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

    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 urlparse
    9: import sys
   10: import zLOG
   11: import re
   12: import xml.dom.minidom
   13: import os.path
   14: from Globals import package_home
   15: 
   16: class OSAS_ViewerObject(Folder):
   17:     """Beschreibung eines Viewers"""
   18:     meta_type="OSAS_ViewerObject"
   19:     
   20:     def __init__(self,id,title,prefix):
   21:         """init"""
   22:         self.id=id
   23:         self.title=title
   24:         self.prefix=prefix
   25: 
   26:     manage_options = Folder.manage_options+(
   27:         {'label':'Main Config','action':'changeViewerObjectForm'},
   28:         )
   29: 
   30:     def changeViewerObjectForm(self):
   31:         """Main configuration"""
   32:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeViewerObjectForm.zpt')).__of__(self)
   33:         return pt()
   34: 
   35:     def changeViewerObject(self,title,prefix,RESPONSE=None):
   36:         """Change RootFolderName"""
   37:         self.title=title
   38:         self.prefix=prefix
   39: 
   40:         
   41:         if RESPONSE is not None:
   42:             RESPONSE.redirect('manage_main')
   43: 
   44: 
   45: def manage_AddOSAS_ViewerObjectForm(self):
   46:     """interface for adding the viewer Object"""
   47:     pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_ViewerObject.zpt')).__of__(self)
   48:     return pt()
   49: 
   50: def manage_AddOSAS_ViewerObject(self,id,title,prefix,RESPONSE=None):
   51:     """add the OSAS_root"""
   52:     newObj=OSAS_ViewerObject(id,title,prefix)
   53:     self._setObject(id,newObj)
   54:     if RESPONSE is not None:
   55:         RESPONSE.redirect('manage_main')
   56: 
   57:     
   58: class OSAS_Root(Folder,Implicit):
   59:     """Implicit Folder of the  Storage Systems"""
   60:     def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl):
   61:         """initialize a new instance"""
   62:         self.id = id
   63:         self.RootFolderName = RootFolderName
   64:         self.DigILibURL=DigILibURL
   65:         self.uploadServletUrl=uploadServletUrl
   66:         
   67:     meta_type="OSAS_Root"
   68: 
   69:     manage_options = Folder.manage_options+(
   70:         {'label':'Main Config','action':'Root_config'},
   71:         )
   72: 
   73:     
   74:         
   75:     def setDigILibURL(self):
   76:         """set"""
   77:         self.DigILibURL=""
   78:         
   79:     def Root_config(self):
   80:         """Main configuration"""
   81:         pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ConfigOSAS_Root.zpt')).__of__(self)
   82:         return pt()
   83: 
   84:     def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
   85:         """Change RootFolderName"""
   86:         self.RootFolderName=RootFolderName
   87:         self.DigILibURL=DigILibURL
   88:         self.uploadServletUrl=uploadServletUrl
   89:         
   90:         if RESPONSE is not None:
   91:             RESPONSE.redirect('manage_main')
   92: 
   93:     def date(self):
   94:         """gives formatted date"""
   95: 	return strftime("%d.%m.%Y",localtime())	
   96: 
   97:     def getUploadServletUrl(self):
   98:         """get url"""
   99:         try:
  100:             self.uploadServletUrl=uploadServletUrl
  101:         except:
  102:             return "http://foxridge.rz-berlin.mpg.de:8000/upload/up"
  103: 
  104:     def downloadExternalXML(self,index_meta_url,xml_url):
  105:         """lade xml file"""
  106:         #print "GI"
  107:         #print xml_url
  108: 	try:
  109: 	        xmlneu=urllib.urlopen(xml_url).read()
  110: 	except:
  111:                 zLOG.LOG("OSASRoot (downloadExternalXML)", zLOG.INFO,"%s (%s)"%sys.exc_info()[0:2])
  112:                 zLOG.LOG("OSASRoot (downloadExternalXML)", zLOG.INFO,xml_url)
  113: 		return "error"
  114:         try:
  115:             dom=xml.dom.minidom.parseString(xmlneu)
  116:         except:
  117:             print "Error"
  118:             return repr(xml_url)
  119:             return "error"
  120: 
  121: 	
  122: 	#TODO: direct access to the file system necessary, fix that also xmlrpc to the server where the index file is stored is possible	
  123: 	parsedUrl=urlparse.urlparse(index_meta_url)
  124: 	path=parsedUrl[2]
  125: 
  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>