File:  [Repository] / OSAS / OSA_system / OSAS_Root.py
Revision 1.18: download - view: text, annotated - select for diffs - revision graph
Wed Apr 27 13:17:45 2005 UTC (19 years, 1 month ago) by dwinter
Branches: MAIN
CVS tags: HEAD
corrections for zope2.7

from OFS.SimpleItem import SimpleItem
from time import localtime,strftime
from Acquisition import Implicit
from OFS.Folder import Folder
from Products.PageTemplates.PageTemplateFile import PageTemplateFile
from Products.PageTemplates.PageTemplate import PageTemplate
import urllib
import zLOG
import re
import xml.dom.minidom

class OSAS_ViewerObject(Folder):
    """Beschreibung eines Viewers"""
    meta_type="OSAS_ViewerObject"
    
    def __init__(self,id,title,prefix):
        """init"""
        self.id=id
        self.title=title
        self.prefix=prefix

    manage_options = Folder.manage_options+(
        {'label':'Main Config','action':'changeViewerObjectForm'},
        )

    def changeViewerObjectForm(self):
        """Main configuration"""
        pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeViewerObjectForm.zpt')).__of__(self)
        return pt()

    def changeViewerObject(self,title,prefix):
        """Change RootFolderName"""
        self.title=title
        self.prefix=prefix

        
        if RESPONSE is not None:
            RESPONSE.redirect('manage_main')


def manage_AddOSAS_ViewerObjectForm(self):
    """interface for adding the viewer Object"""
    pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_ViewerObject.zpt')).__of__(self)
    return pt()

def manage_AddOSAS_ViewerObject(self,id,title,prefix,RESPONSE=None):
    """add the OSAS_root"""
    newObj=OSAS_ViewerObject(id,title,prefix)
    self._setObject(id,newObj)
    if RESPONSE is not None:
        RESPONSE.redirect('manage_main')

    
class OSAS_Root(Folder,Implicit):
    """Implicit Folder of the  Storage Systems"""
    def __init__(self,id,RootFolderName,DigILibURL,uploadServletUrl):
        """initialize a new instance"""
        self.id = id
        self.RootFolderName = RootFolderName
        self.DigILibURL=DigILibURL
        self.uploadServletUrl=uploadServletUrl
        
    meta_type="OSAS_Root"

    manage_options = Folder.manage_options+(
        {'label':'Main Config','action':'Root_config'},
        )

    
        
    def setDigILibURL(self):
        """set"""
        self.DigILibURL=""
        
    def Root_config(self):
        """Main configuration"""
        pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ConfigOSAS_Root.zpt')).__of__(self)
        return pt()

    def change_OSAS_Root(self,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
        """Change RootFolderName"""
        self.RootFolderName=RootFolderName
        self.DigILibURL=DigILibURL
        self.uploadServletUrl=uploadServletUrl
        
        if RESPONSE is not None:
            RESPONSE.redirect('manage_main')

    def date(self):
        """gives formatted date"""
	return strftime("%d.%m.%Y",localtime())	

    def getUploadServletUrl(self):
        """get url"""
        try:
            self.uploadServletUrl=uploadServletUrl
        except:
            return "http://foxridge.rz-berlin.mpg.de:8000/upload/up"

    def downloadExternalXML(self,index_meta_url,xml_url):
        """lade xml file"""
        #print "GI"
        #print xml_url
        xmlneu=urllib.urlopen(xml_url).read()
        
	
        try:
            dom=xml.dom.minidom.parseString(xmlneu)
        except:
            print "Error"
            return repr(xml_url)
            return "error"

        path=re.sub(self.REQUEST['SERVER_URL'],'',index_meta_url)
        path=re.sub('http://'+self.REQUEST['HTTP_HOST'],'',index_meta_url)

        path=re.sub('http://foxridge.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server
        path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server
        path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server

        path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server
        path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server
        path=re.sub('http://vision.mpiwg-berlin.mpg.de','',path) # falls vision als server
	path=re.sub('http://echo.mpiwg-berlin.mpg.de','',path) # falls echo
#	path=re.sub('//','/',path) # falls echo
        fh=open(path,'w')
	zLOG.LOG("OSAS",zLOG.INFO,path)
        fh.write(xmlneu)
        fh.close()
        return "ok"

        
def manage_AddOSAS_RootForm(self):
    """interface for adding the OSAS_root"""
    pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','AddOSAS_Root.zpt')).__of__(self)
    return pt()

def manage_AddOSAS_Root(self,id,RootFolderName,DigILibURL,uploadServletUrl,RESPONSE=None):
    """add the OSAS_root"""
    newObj=OSAS_Root(id,RootFolderName,DigILibURL,uploadServletUrl)
    self._setObject(id,newObj)
    if RESPONSE is not None:
        RESPONSE.redirect('manage_main')

    

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