--- ECHO_content/ECHO_language.py 2006/10/12 16:37:33 1.9 +++ ECHO_content/ECHO_language.py 2006/10/18 14:42:33 1.10 @@ -6,6 +6,7 @@ from OFS.SimpleItem import SimpleItem from OFS.Folder import Folder import xml.parsers import os.path +import urlparse,urllib from Globals import package_home class ECHO_language: @@ -49,6 +50,14 @@ class Collection(SimpleItem): """delete an entry""" del(self.entries[nr]) + def changeEntry(self,nr,slaveUrl): + """change an entry, only slaveUrl""" + tmp=self.entries[nr] + tmp['slave']=(slaveUrl,"","") + + entries=self.entries[0:] + entries[nr]=tmp + self.entries=entries[0:] def appendEntry(self,fn,id,type,pagelink): """append an entry""" @@ -109,20 +118,31 @@ class ECHO_linkCreator(Folder): if entry.has_key('master'): ms=entry['master'] + + try: - ret+=""""""%(ms[0],ms[1]) - splitted=ms[2].split("/") - ret+=""""""%(splitted[0],splitted[-1]) - ret+="""""" + if urlparse.urlparse(ms[0])[0]=="http": # url + ret+=""""""%urllib.quote(ms[0]) + else: + ret+=""""""%(ms[0],ms[1]) + splitted=ms[2].split("/") + if (len(splitted)>3): + ret+=""""""%(splitted[0],splitted[3]) + + ret+="""""" except: #ohne pagelink& ret+=""""""%ms if entry.has_key('slave'): ms=entry['slave'] try: - ret+=""""""%(ms[0],ms[1]) - splitted=ms[2].split("/") - ret+=""""""%(splitted[0],splitted[-1]) - ret+="""""" + if urlparse.urlparse(ms[0])[0]=="http": # url + ret+=""""""%urllib.quote(ms[0]) + else: + ret+=""""""%(ms[0],ms[1]) + splitted=ms[2].split("/") + if (len(splitted)>3): + ret+=""""""%(splitted[0],splitted[3]) + ret+="""""" except: #ohne pagelink ret+=""""""%ms @@ -163,7 +183,16 @@ class ECHO_linkCreator(Folder): RESPONSE.setHeader("Expires",(DateTime()-1).rfc822()) RESPONSE.setHeader("Cache-Control", "no-cache") RESPONSE.redirect(fromurl) - + + + def changeEntry(self,collection,nr,slaveUrl,RESPONSE=None): + """change an entry 8only slaveUrl at the moment""" + col=getattr(self, collection,None) + col.changeEntry(nr,slaveUrl) + + if RESPONSE: + RESPONSE.redirect(self.absolute_url()+"?collection="+collection) + def removeEntry(self,collection,nr,RESPONSE=None): """remove an entry""" col=getattr(self, collection,None)