--- ECHO_content/ECHO_collection.py 2004/10/19 19:20:19 1.181 +++ ECHO_content/ECHO_collection.py 2004/10/27 14:23:24 1.182 @@ -29,7 +29,7 @@ from Products.PageTemplates.PageTemplate from Products.PageTemplates.ZopePageTemplate import ZopePageTemplate from Globals import Persistent, package_home from Acquisition import Implicit -from ECHO_helpers import displayTypes +from ECHO_helpers import displayTypes, getText,readFieldFromXML import urllib import smtplib import time @@ -270,13 +270,7 @@ def toList(field): else: return field -def getText(nodelist): - rc = "" - for node in nodelist: - if node.nodeType == node.TEXT_NODE: - rc = rc + node.data - return rc def getTextFromNode(nodename): nodelist=nodename.childNodes @@ -1013,19 +1007,55 @@ class ECHO_resource(Folder,Persistent): pt.content_type="text/html" return pt() - + + def createImageUrl(self,pn=1): + """create ImageUrl""" + + resourcepath=readFieldFromXML(self.metalink,'resource','archive-path').replace('/mpiwg/online','') + + digiliburlprefix=readFieldFromXML(self.metalink,'texttool','digiliburlprefix') + images=readFieldFromXML(self.metalink,'texttool','image') + + if not digiliburlprefix: digiliburlprefix="http://echo.mpiwg-berlin.mpg.de/zogilib?" + + if (not images) or (not resourcepath): return None + + return "%sfn=%s&pn=%i"%(digiliburlprefix,resourcepath+"/"+images,pn) + + def copyTitleToInfoXML(self): + """copy title from the resource""" + presentationXML=readFieldFromXML(self.metalink,'texttool','presentation') + resourcepath=readFieldFromXML(self.metalink,'resource','archive-path') + print os.path.join(resourcepath,presentationXML) + fh=file(os.path.join(resourcepath,presentationXML),'w') + fh.write(""" + + %s + + yes + """%self.title) + fh.close() + + def setStartPage(self,startpage=None,RESPONSE=None): """set start page, if no startpage defined use the generic one of the resource""" - if (not (type(startpage)==StringType)) and ("__generic" in startpage): # checke ob generic in der liste + if (not (type(startpage)==StringType)): + if ("__generic" in startpage): # checke ob generic in der liste + startpage=self.absolute_url()+"/startpage_html" + elif ("__firstPage" in startpage): # checke ob generic in der liste + startpage=self.createImageUrl() + + if (not startpage): startpage=self.absolute_url()+"/startpage_html" - - if (not startpage) or (startpage=="__generic"): - startpage=self.absolute_url()+"/startpage_html" - + elif (startpage=="__generic"): + startpage=self.absolute_url()+"/startpage_html" + elif (startpage=="__firstPage"): + startpage=self.createImageUrl() params="startpage=%s"%startpage - + print 'http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params)) + ECHO_helpers.urlopen('http://xserve02.mpiwg-berlin.mpg.de:18880/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.metalink,self.absolute_url()+'/newMetaXML'+urllib.quote('?'+params))).read() @@ -1033,13 +1063,14 @@ class ECHO_resource(Folder,Persistent): path=re.sub(self.REQUEST['SERVER_URL'],'',path) path=re.sub('http://'+self.REQUEST['HTTP_HOST'],'',path) - + 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 path=re.sub('http://foxridge.rz-berlin.mpg.de:8080','',path) # falls foxridge als server path=re.sub('http://content.mpiwg-berlin.mpg.de','',path) # falls content als server path=re.sub('http://foxridge.rz-berlin.mpg.de','',path) # falls foxridge als server - path=re.sub('http://vision.rz-berlin.mpg.de','',path) # falls vision als server + path=re.sub('http://vision.mpiwg-berlin.mpg.de','',path) # falls vision als server + path=re.sub('http://xserve02.mpiwg-berlin.mpg.de:18880','',path) # falls vision als server path=re.sub('http://echo.mpiwg-berlin.mpg.de','',path) # falls echo path=re.sub('/index.meta','',path) @@ -1055,6 +1086,7 @@ class ECHO_resource(Folder,Persistent): return pt() + def getTextToolsField(self,name,default=''): """Lese Textoolsfelder aus index.meta im path aus""" @@ -2181,8 +2213,20 @@ class ECHO_collection(Folder, Persistent if RESPONSE is not None: RESPONSE.redirect('manage_main') + def copyTitleToInfoXMLFolder(self): + """copy title into the title field of info.xml + author and date werden leer!!! + """ + resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1) + + for resource in resources: + + resource[1].copyTitleToInfoXML() + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + def copySearchFields(self,RESPONSE=None): """copys import metadatafields to the object""" resources=self.ZopeFind(self,obj_metatypes=['ECHO_resource'])