Annotation of ECHO_content/ECHO_language.py, revision 1.7
1.1 dwinter 1: """Methoden fuer Language Technologies"""
1.2 dwinter 2:
1.7 ! dwinter 3: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
1.4 dwinter 4: from Products.ECHO_content.analyseAndTag.analyseAndTag import DonatusFile
1.7 ! dwinter 5: from OFS.SimpleItem import SimpleItem
! 6: from OFS.Folder import Folder
1.4 dwinter 7: import xml.parsers
1.7 ! dwinter 8: import os.path
! 9: from Globals import package_home
1.4 dwinter 10:
1.2 dwinter 11: class ECHO_language:
1.3 dwinter 12: """language methods"""
13:
1.4 dwinter 14:
1.7 ! dwinter 15: def tagLex(self,nr="1",id=None):
1.5 dwinter 16: """gerateword tags"""
1.7 ! dwinter 17:
1.4 dwinter 18:
1.7 ! dwinter 19: df=DonatusFile(txt=self.getPage(_pn=nr,_id=id),baseUri=self.baseUri)
1.4 dwinter 20:
1.5 dwinter 21: return df.convertedXML()
1.4 dwinter 22: #return DonatusFile(txt=self.getPage(_pn=nr)).convertedXML()
23:
1.7 ! dwinter 24: class Collection(SimpleItem):
! 25:
! 26: def __init__(self,id):
! 27: """initialise"""
! 28: self.id=id
! 29: self.entries=[]
! 30:
! 31:
! 32: def getEntries(self):
! 33: """get the entries"""
! 34: return self.entries
! 35:
! 36: def deleteEntry(self,nr):
! 37: """delete an entry"""
! 38: del(self.entries[nr])
! 39:
! 40:
! 41: def appendEntry(self,fn,id,type):
! 42: """append an entry"""
! 43: #check if last entry is complete
! 44: createNew=False
! 45: print "Here",fn,id,type
! 46: if len(self.entries)==0: #noch gar kein Eintrag
! 47: createNew=True
! 48: else:
! 49: entry=self.entries[-1]
! 50: if entry.get('master',None) and entry.get('slave',None):
! 51: createNew=True
! 52: if createNew:
! 53:
! 54: self.entries.append({})
! 55: entry=self.entries[-1]
! 56: if type=="master":
! 57: entry['master']=(fn,id)
! 58: elif type=="slave":
! 59: entry['slave']=(fn,id)
! 60:
! 61: self.entries[-1]=entry
! 62:
! 63: class ECHO_linkCreator(Folder):
! 64: """creator for links"""
! 65:
! 66: meta_type="ECHO_linkCreator"
! 67:
! 68:
! 69:
! 70:
! 71: def getCollectionEntries(self,collection):
! 72: col=getattr(self,collection,None)
! 73: if not col:
! 74: return []
! 75:
! 76: return col.getEntries()
! 77:
! 78:
! 79: def index_html(self,collection=None):
! 80: """show create links"""
! 81: if not collection:
! 82: return "no collection"
! 83:
! 84:
! 85: pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ECHO_linkCreator_main')).__of__(self)
! 86:
! 87: col=getattr(self,collection,None)
! 88: if not col:
! 89: return []
! 90:
! 91: masterUrl=getattr(col,'masterUrl','')
! 92: slaveUrl=getattr(col,'slaveUrl','')
! 93:
! 94: return pt(collection=collection,masterUrl=masterUrl,slaveUrl=slaveUrl)
! 95:
! 96: def addEntry(self,collection,fn,id,type,fromurl=None,RESPONSE=None):
! 97: """add an entry"""
! 98: print "hello"
! 99: col=getattr(self, collection,None)
! 100: if not col:
! 101: self._setObject(collection,Collection(collection))
! 102: col=getattr(self, collection)
! 103: print "XXXXX2",col
! 104: col.appendEntry(fn,id,type)
! 105:
! 106: if fromurl and RESPONSE:
! 107: RESPONSE.redirect(fromurl)
! 108: def removeEntry(self,collection,nr,RESPONSE=None):
! 109: """remove an entry"""
! 110: col=getattr(self, collection,None)
! 111: col.deleteEntry(nr)
! 112:
! 113: if RESPONSE:
! 114: RESPONSE.redirect(self.absolute_url()+"?collection="+collection)
! 115:
! 116: def setUrls(self,collection,masterUrl,slaveUrl,RESPONSE=None):
! 117: """set the urls for the document viewer"""
! 118: col=getattr(self, collection,None)
! 119: setattr(col,'masterUrl',masterUrl)
! 120: setattr(col,'slaveUrl',slaveUrl)
! 121:
! 122: if RESPONSE:
! 123: RESPONSE.redirect(self.absolute_url()+"?collection="+collection)
! 124:
! 125:
! 126: #self.index_html(collection)
! 127:
! 128: def manage_addECHO_linkCreatorForm(self,RESPONSE=None):
! 129: """Form for adding"""
! 130: manage_addECHO_linkCreator(self,RESPONSE)
! 131:
! 132: def manage_addECHO_linkCreator(self,RESPONSE=None):
! 133: """Add an ECHO_main"""
! 134: id='linkCreator'
! 135: self._setObject(id,ECHO_linkCreator(id))
! 136:
! 137:
! 138: if RESPONSE is not None:
! 139: RESPONSE.redirect('manage_main')
! 140:
! 141:
! 142:
! 143:
! 144:
! 145:
! 146:
! 147:
! 148:
! 149:
! 150:
! 151:
! 152:
! 153:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>