--- ECHO_content/ECHO_language.py 2006/10/12 16:37:33 1.9
+++ ECHO_content/ECHO_language.py 2007/01/09 17:01:01 1.11
@@ -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,15 @@ class Collection(SimpleItem):
"""delete an entry"""
del(self.entries[nr])
+ def changeEntry(self,nr,slaveUrl,masterID):
+ """change an entry, only slaveUrl"""
+ tmp=self.entries[nr]
+ tm=tmp['master']
+ tmp['slave']=(slaveUrl,"","")
+ tmp['master']=(tm[0],tm[1],masterID)
+ entries=self.entries[0:]
+ entries[nr]=tmp
+ self.entries=entries[0:]
def appendEntry(self,fn,id,type,pagelink):
"""append an entry"""
@@ -89,7 +99,16 @@ class ECHO_linkCreator(Folder):
return col.getEntries()
+ def getAllRefIDs(self,collection):
+ """return all refids"""
+ ret=[]
+ entries=self.getCollectionEntries(collection)
+
+ for entry in entries:
+ ret.append('_pagelink='+entry['master'][2])
+ return "&".join(ret)
+
def getCollectionXML(self,collection=None,RESPONSE=None):
"""exports the collection as an XML file"""
if not collection:
@@ -109,20 +128,31 @@ class ECHO_linkCreator(Folder):
if entry.has_key('master'):
ms=entry['master']
+
+
try:
- ret+=""""""
+ if urlparse.urlparse(ms[0])[0]=="http": # url
+ ret+=""""""%urllib.quote(ms[0])
+ else:
+ 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 +193,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,masterID,RESPONSE=None):
+ """change an entry 8only slaveUrl at the moment"""
+ col=getattr(self, collection,None)
+ col.changeEntry(nr,slaveUrl,masterID)
+
+ if RESPONSE:
+ RESPONSE.redirect(self.absolute_url()+"?collection="+collection)
+
def removeEntry(self,collection,nr,RESPONSE=None):
"""remove an entry"""
col=getattr(self, collection,None)