--- 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+=""""""%(ms[0],ms[1]) + splitted=ms[2].split("/") + ret+=""""""%(splitted[0],splitted[-1]) + 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"""