--- OSAS/OSA_system/OSAS_Root.py 2004/06/23 13:01:14 1.12 +++ OSAS/OSA_system/OSAS_Root.py 2007/01/31 14:28:04 1.22 @@ -5,7 +5,20 @@ from OFS.Folder import Folder from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.PageTemplates.PageTemplate import PageTemplate import urllib +import urlparse +import sys +import logging + +#ersetzt logging +def logger(txt,method,txt2): + """logging""" + logging.info(txt+ txt2) + + import re +import xml.dom.minidom +import os.path +from Globals import package_home class OSAS_ViewerObject(Folder): """Beschreibung eines Viewers""" @@ -23,10 +36,10 @@ class OSAS_ViewerObject(Folder): def changeViewerObjectForm(self): """Main configuration""" - pt=PageTemplateFile('Products/OSA_system/zpt/changeViewerObjectForm.zpt').__of__(self) + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','changeViewerObjectForm.zpt')).__of__(self) return pt() - def changeViewerObject(self,title,prefix): + def changeViewerObject(self,title,prefix,RESPONSE=None): """Change RootFolderName""" self.title=title self.prefix=prefix @@ -38,7 +51,7 @@ class OSAS_ViewerObject(Folder): def manage_AddOSAS_ViewerObjectForm(self): """interface for adding the viewer Object""" - pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_ViewerObject.zpt').__of__(self) + 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): @@ -64,10 +77,6 @@ class OSAS_Root(Folder,Implicit): {'label':'Main Config','action':'Root_config'}, ) - def getImageViewers(self): - """images""" - viewers=self.ZopeFind(self.standardImageViewer,obj_metatypes=['OSAS_ViewerObject']) - return viewers def setDigILibURL(self): @@ -76,7 +85,7 @@ class OSAS_Root(Folder,Implicit): def Root_config(self): """Main configuration""" - pt=PageTemplateFile('Products/OSA_system/zpt/ConfigOSAS_Root.zpt').__of__(self) + 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): @@ -101,25 +110,36 @@ class OSAS_Root(Folder,Implicit): def downloadExternalXML(self,index_meta_url,xml_url): """lade xml file""" - - xmlneu=urllib.urlopen(xml_url).read() - - 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.mpiwg-berlin.mpg.de:8080','',path) # falls foxridge als server - path=re.sub('http://foxridge.mpiwg-berlin.mpg.de','',path) # falls foxridge als server - + #print "GI" + #print xml_url + try: + xmlneu=urllib.urlopen(xml_url).read() + except: + logger("OSASRoot (downloadExternalXML)", logging.INFO,"%s (%s)"%sys.exc_info()[0:2]) + logger("OSASRoot (downloadExternalXML)", logging.INFO,xml_url) + return "error" + try: + dom=xml.dom.minidom.parseString(xmlneu) + except: + print "Error" + return repr(xml_url) + return "error" + + + #TODO: direct access to the file system necessary, fix that also xmlrpc to the server where the index file is stored is possible + parsedUrl=urlparse.urlparse(index_meta_url) + path=parsedUrl[2] fh=open(path,'w') + logger("OSAS",logging.INFO,path) fh.write(xmlneu) fh.close() return "ok" + def manage_AddOSAS_RootForm(self): """interface for adding the OSAS_root""" - pt=PageTemplateFile('Products/OSA_system/zpt/AddOSAS_Root.zpt').__of__(self) + 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):