|
|
| version 1.9, 2006/10/12 16:37:33 | version 1.11, 2007/01/09 17:01:01 |
|---|---|
| Line 6 from OFS.SimpleItem import SimpleItem | Line 6 from OFS.SimpleItem import SimpleItem |
| from OFS.Folder import Folder | from OFS.Folder import Folder |
| import xml.parsers | import xml.parsers |
| import os.path | import os.path |
| import urlparse,urllib | |
| from Globals import package_home | from Globals import package_home |
| class ECHO_language: | class ECHO_language: |
| Line 49 class Collection(SimpleItem): | Line 50 class Collection(SimpleItem): |
| """delete an entry""" | """delete an entry""" |
| del(self.entries[nr]) | 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): | def appendEntry(self,fn,id,type,pagelink): |
| """append an entry""" | """append an entry""" |
| Line 89 class ECHO_linkCreator(Folder): | Line 99 class ECHO_linkCreator(Folder): |
| return col.getEntries() | 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): | def getCollectionXML(self,collection=None,RESPONSE=None): |
| """exports the collection as an XML file""" | """exports the collection as an XML file""" |
| Line 109 class ECHO_linkCreator(Folder): | Line 128 class ECHO_linkCreator(Folder): |
| if entry.has_key('master'): | if entry.has_key('master'): |
| ms=entry['master'] | ms=entry['master'] |
| try: | try: |
| if urlparse.urlparse(ms[0])[0]=="http": # url | |
| ret+="""<source filename="%s"/>"""%urllib.quote(ms[0]) | |
| else: | |
| ret+="""<source filename="%s" refid="%s">"""%(ms[0],ms[1]) | ret+="""<source filename="%s" refid="%s">"""%(ms[0],ms[1]) |
| splitted=ms[2].split("/") | splitted=ms[2].split("/") |
| ret+="""<pagelink refid="%s" selectionNodeIndex="%s"/>"""%(splitted[0],splitted[-1]) | if (len(splitted)>3): |
| ret+="""<pagelink refid="%s" selectionNodeIndex="%s"/>"""%(splitted[0],splitted[3]) | |
| ret+="""</source>""" | ret+="""</source>""" |
| except: #ohne pagelink& | except: #ohne pagelink& |
| ret+="""<source filename="%s" refid="%s"/>"""%ms | ret+="""<source filename="%s" refid="%s"/>"""%ms |
| if entry.has_key('slave'): | if entry.has_key('slave'): |
| ms=entry['slave'] | ms=entry['slave'] |
| try: | try: |
| if urlparse.urlparse(ms[0])[0]=="http": # url | |
| ret+="""<target filename="%s"/>"""%urllib.quote(ms[0]) | |
| else: | |
| ret+="""<target filename="%s" refid="%s">"""%(ms[0],ms[1]) | ret+="""<target filename="%s" refid="%s">"""%(ms[0],ms[1]) |
| splitted=ms[2].split("/") | splitted=ms[2].split("/") |
| ret+="""<pagelink refid="%s" selectionNodeIndex="%s"/>"""%(splitted[0],splitted[-1]) | if (len(splitted)>3): |
| ret+="""<pagelink refid="%s" selectionNodeIndex="%s"/>"""%(splitted[0],splitted[3]) | |
| ret+="""</target>""" | ret+="""</target>""" |
| except: #ohne pagelink | except: #ohne pagelink |
| ret+="""<target filename="%s" refid="%s"/>"""%ms | ret+="""<target filename="%s" refid="%s"/>"""%ms |
| Line 164 class ECHO_linkCreator(Folder): | Line 194 class ECHO_linkCreator(Folder): |
| RESPONSE.setHeader("Cache-Control", "no-cache") | RESPONSE.setHeader("Cache-Control", "no-cache") |
| RESPONSE.redirect(fromurl) | 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): | def removeEntry(self,collection,nr,RESPONSE=None): |
| """remove an entry""" | """remove an entry""" |
| col=getattr(self, collection,None) | col=getattr(self, collection,None) |