File:  [Repository] / OSAS / OSA_system / OSAS_Root.py
Revision 1.22: download - view: text, annotated - select for diffs - revision graph
Wed Jan 31 14:28:04 2007 UTC (17 years, 5 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
zlog ersetzt durch logging

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

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