--- ECHO_content/ECHO_collection.py 2004/05/10 13:51:03 1.75 +++ ECHO_content/ECHO_collection.py 2004/05/11 17:56:01 1.81 @@ -105,22 +105,17 @@ def sendFile(self, filename, type): object = self # look for an object called filename for path in paths: - print "fragment: '"+path+"'" if hasattr(object, path): - print " exists" object = getattr(object, path) else: - print " doesn't exist" object = None break if object: # if the object exists then send it - print "send zope object"+object() - 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) - print "send fs file: "+fn self.REQUEST.RESPONSE.setHeader("Content-Type", type) self.REQUEST.RESPONSE.write(file(fn).read()) return @@ -175,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 @@ -520,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=[] @@ -873,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""" @@ -1255,18 +1256,15 @@ class ECHO_collection(Folder, Persistent def area_img(self): """area image""" - sendFile(self, 'images/red.gif', 'image/gif') - return + return sendFile(self, 'images/red.gif', 'image/gif') def hl_lib_js(self): """javascript""" - sendFile(self, 'js/hl_lib.js', 'text/plain') - return + return sendFile(self, 'js/hl_lib.js', 'text/plain') def js_lib_js(self): """javascript""" - sendFile(self, 'js/js_lib.js', 'text/plain') - return + return sendFile(self, 'js/js_lib.js', 'text/plain') def getGraphicCoords(self): """Give list of coordinates""" @@ -1706,7 +1704,29 @@ class ECHO_root(Folder,Persistent,Implic ret.append((collection[0].getId(),collection[1].getId(),collection[2])) return ret - + + + def getResourcesXML(self,viewerType=None,filter=None): + """gebe all ressourcen aus""" + ret=""" + """ + for resource in self.ZopeFind(self,obj_metatypes=['ECHO_resource'],search_sub=1): + + echo_url=resource[1].absolute_url() + if hasattr(resource[1],'link'): + viewer_url=resource[1].link + else: + viewer_url="NO URL" + if filter: + if re.search(filter,viewer_url): + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) + else: + ret+="""\n"""%(urllib.quote(echo_url,safe='/:?'),urllib.quote(viewer_url,safe='/:?')) + ret +="""\n""" + + self.REQUEST.RESPONSE.setHeader("Content-Type", "text/xml") + self.REQUEST.RESPONSE.write(ret) + def manage_addECHO_root(self,id,title,RESPONSE=None): """Add an ECHO_root"""