--- ECHO_content/ECHO_collection.py 2004/05/10 08:44:19 1.73 +++ ECHO_content/ECHO_collection.py 2004/05/11 14:57:35 1.80 @@ -112,7 +112,7 @@ def sendFile(self, filename, type): break if object: # if the object exists then send it - object() + return object.index_html(self.REQUEST.REQUEST, self.REQUEST.RESPONSE) else: # send a local file with the given content-type fn = os.path.join(package_home(globals()), filename) @@ -170,7 +170,7 @@ def writeMetadata(url,metadict): metanode.appendChild(metanodeneu) - return dom.toxml().encode('utf-8') + return dom.topxml().encode('utf-8') def readMetadata(url): """Methode zum Auslesen der Metadateninformation zu einer Resource @@ -515,7 +515,10 @@ class ECHO_resource(Folder): def changeECHO_resource_coords(self,coords,viewClassification,RESPONSE=None): """Änderung der Properties - coords""" - try: + if type(coords)==StringType: + coords=[coords] + + try: coordsnew=[ string.split(x,",") for x in coords] except: coordsnew=[] @@ -539,7 +542,7 @@ class ECHO_resource(Folder): def changeECHO_resource_metadata(self,RESPONSE=None): """change metadata""" tags=self.findTagsFromMapping(self.contentType) - OSAS_meta={} + self.OSAS_meta={} for field in tags[1]: try: self.metaDataHash[self.getFieldTag(tags,field)]=self.REQUEST.form[self.getFieldTag(tags,field)] @@ -547,13 +550,14 @@ class ECHO_resource(Folder): except: """nothing""" - return urllib.urlopen('http://localhost:8080/echo_nav/storage/downloadExternalXML?index_meta_url=%s&xml_url=%s'%(self.absolute_url()+'/newMetaXML',self.metalink)).read() + return urllib.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')).read() if RESPONSE is not None: RESPONSE.redirect('manage_main') def newMetaXML(self): + """new index.meta""" self.REQUEST.RESPONSE.setHeader('Content-Type','text/xml') return writeMetadata(self.metalink,self.OSAS_meta) @@ -867,8 +871,11 @@ class ECHO_link(ECHO_externalLink): def content_html(self): - """template fuer content""" - return content_html(self,'link') + """template fuer link""" + if hasattr(self,"link_template"): + return content_html(self,'link') + else: + return content_html(self,'collection') def manage_addECHO_linkForm(self): """Form for external Links""" @@ -989,14 +996,52 @@ class ECHO_collection(Folder, Persistent return ret def createJSAreas(self): - """CreateJava""" + """new version of createJavaScript""" dynamical="\n" for ob in self.getGraphicCoords(): - if ob[5] == "area": + if ob[5] == "area": dynamical+="""addArea('%s', 'overview', %s, 'area');\n"""%(ob[1],ob[0]) else: dynamical+="""addArea('%s', 'overview', %s, 'arrow');\n"""%(ob[1],ob[0]) return dynamical + + def createMapHead(self): + """generate divs""" + pt=PageTemplateFile(os.path.join(package_home(globals()), 'zpt/ECHO_content_map_frag_js')).__of__(self) + return pt() + + def createMapLink(self, ob, text=None): + """generate map link""" + id = ob[1] + link = ob[1] + if text == None: + text = ob[2] + tag = '" + return tag + + def createMapAux(self, ob, arrowsrc="http://nausikaa2.rz-berlin.mpg.de/digitallibrary/servlet/Scaler/?dw=15&fn=icons/pfeil"): + """generate map link image, text and other stuff""" + id = ob[1] + link = ob[1] + vtype = ob[5] + ctype = ob[3].contentType + + tag = ''%(id,id,id,link) + if vtype == "view point": + rot = ob[4][4] + tag += ''%(id,arrowsrc,rot) + else: + tag += '