--- ECHO_content/ECHO_language.py 2006/10/11 16:55:26 1.8
+++ ECHO_content/ECHO_language.py 2006/10/12 16:37:33 1.9
@@ -22,6 +22,10 @@ class ECHO_language:
#return DonatusFile(txt=self.getPage(_pn=nr)).convertedXML()
class Collection(SimpleItem):
+ def getCollectionXML(self,RESPONSE=None):
+
+ """get collection as xml"""
+ return self.aq_parent.getCollectionXML(collection=self.getId(),RESPONSE=RESPONSE)
def __init__(self,id):
"""initialise"""
@@ -32,7 +36,6 @@ class Collection(SimpleItem):
def getEntries(self):
"""get the entries"""
entries=self.entries
-
for entry in entries: #backward compatibility, cannot be removed a.s.a.p.
print entry
if entry.has_key('master') and (len(entry['master'])<3):
@@ -86,7 +89,48 @@ class ECHO_linkCreator(Folder):
return col.getEntries()
-
+
+ def getCollectionXML(self,collection=None,RESPONSE=None):
+ """exports the collection as an XML file"""
+ if not collection:
+ return "no collection: need parameter collection=COLLECTION_NAME"
+
+ i=0
+ ret=""
+ ret+=""""""
+ ret+=""""""
+ ret+="""%s"""%collection
+ ret+=""""""%self.getUrls(collection)[0]
+ ret+=""""""%self.getUrls(collection)[1]
+
+ for entry in self.getCollectionEntries(collection):
+ ret+=""""""%i
+ i+=1
+
+ if entry.has_key('master'):
+ ms=entry['master']
+ try:
+ 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+=""""""
+ except: #ohne pagelink
+ ret+=""""""%ms
+
+ ret+=""
+ ret+=""""""
+ if RESPONSE:
+ RESPONSE.setHeader("Content-Type","text/xml")
+ return ret
def index_html(self,collection=None):
"""show create links"""
if not collection:
@@ -137,8 +181,12 @@ class ECHO_linkCreator(Folder):
if RESPONSE:
RESPONSE.redirect(self.absolute_url()+"?collection="+collection)
-
- #self.index_html(collection)
+ def getUrls(self,collection,RESPONSE=None):
+ """set the urls for the document viewer"""
+ col=getattr(self, collection,None)
+ x=getattr(col,'masterUrl')
+ y=getattr(col,'slaveUrl')
+ return x,y
def manage_addECHO_linkCreatorForm(self,RESPONSE=None):
"""Form for adding"""