--- ECHO_content/ECHO_language.py 2006/09/11 14:43:23 1.6 +++ ECHO_content/ECHO_language.py 2006/09/14 14:31:53 1.7 @@ -1,21 +1,153 @@ """Methoden fuer Language Technologies""" - +from Products.PageTemplates.PageTemplateFile import PageTemplateFile from Products.ECHO_content.analyseAndTag.analyseAndTag import DonatusFile - +from OFS.SimpleItem import SimpleItem +from OFS.Folder import Folder import xml.parsers +import os.path +from Globals import package_home class ECHO_language: """language methods""" - def tagLex(self,nr="1"): + def tagLex(self,nr="1",id=None): """gerateword tags""" - txt=self.getPage(_pn=nr) + - df=DonatusFile(txt=self.getPage(_pn=nr),baseUri=self.baseUri) + df=DonatusFile(txt=self.getPage(_pn=nr,_id=id),baseUri=self.baseUri) return df.convertedXML() #return DonatusFile(txt=self.getPage(_pn=nr)).convertedXML() - \ No newline at end of file +class Collection(SimpleItem): + + def __init__(self,id): + """initialise""" + self.id=id + self.entries=[] + + + def getEntries(self): + """get the entries""" + return self.entries + + def deleteEntry(self,nr): + """delete an entry""" + del(self.entries[nr]) + + + def appendEntry(self,fn,id,type): + """append an entry""" + #check if last entry is complete + createNew=False + print "Here",fn,id,type + if len(self.entries)==0: #noch gar kein Eintrag + createNew=True + else: + entry=self.entries[-1] + if entry.get('master',None) and entry.get('slave',None): + createNew=True + if createNew: + + self.entries.append({}) + entry=self.entries[-1] + if type=="master": + entry['master']=(fn,id) + elif type=="slave": + entry['slave']=(fn,id) + + self.entries[-1]=entry + +class ECHO_linkCreator(Folder): + """creator for links""" + + meta_type="ECHO_linkCreator" + + + + + def getCollectionEntries(self,collection): + col=getattr(self,collection,None) + if not col: + return [] + + return col.getEntries() + + + def index_html(self,collection=None): + """show create links""" + if not collection: + return "no collection" + + + pt=PageTemplateFile(os.path.join(package_home(globals()),'zpt','ECHO_linkCreator_main')).__of__(self) + + col=getattr(self,collection,None) + if not col: + return [] + + masterUrl=getattr(col,'masterUrl','') + slaveUrl=getattr(col,'slaveUrl','') + + return pt(collection=collection,masterUrl=masterUrl,slaveUrl=slaveUrl) + + def addEntry(self,collection,fn,id,type,fromurl=None,RESPONSE=None): + """add an entry""" + print "hello" + col=getattr(self, collection,None) + if not col: + self._setObject(collection,Collection(collection)) + col=getattr(self, collection) + print "XXXXX2",col + col.appendEntry(fn,id,type) + + if fromurl and RESPONSE: + RESPONSE.redirect(fromurl) + def removeEntry(self,collection,nr,RESPONSE=None): + """remove an entry""" + col=getattr(self, collection,None) + col.deleteEntry(nr) + + if RESPONSE: + RESPONSE.redirect(self.absolute_url()+"?collection="+collection) + + def setUrls(self,collection,masterUrl,slaveUrl,RESPONSE=None): + """set the urls for the document viewer""" + col=getattr(self, collection,None) + setattr(col,'masterUrl',masterUrl) + setattr(col,'slaveUrl',slaveUrl) + + if RESPONSE: + RESPONSE.redirect(self.absolute_url()+"?collection="+collection) + + + #self.index_html(collection) + +def manage_addECHO_linkCreatorForm(self,RESPONSE=None): + """Form for adding""" + manage_addECHO_linkCreator(self,RESPONSE) + +def manage_addECHO_linkCreator(self,RESPONSE=None): + """Add an ECHO_main""" + id='linkCreator' + self._setObject(id,ECHO_linkCreator(id)) + + + if RESPONSE is not None: + RESPONSE.redirect('manage_main') + + + + + + + + + + + + + + \ No newline at end of file