File:  [Repository] / ECHO_content / ECHO_language.py
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Thu Sep 14 14:31:53 2006 UTC (17 years, 9 months ago) by dwinter
Branches: MAIN
CVS tags: HEAD
minor

    1: """Methoden fuer Language Technologies"""
    2: 
    3: from Products.PageTemplates.PageTemplateFile import PageTemplateFile
    4: from Products.ECHO_content.analyseAndTag.analyseAndTag import DonatusFile
    5: from OFS.SimpleItem import SimpleItem
    6: from OFS.Folder import Folder
    7: import xml.parsers
    8: import os.path
    9: from Globals import package_home
   10: 
   11: class ECHO_language:
   12:         """language methods"""
   13:         
   14:         
   15:         def tagLex(self,nr="1",id=None):
   16:             """gerateword tags"""
   17:             
   18:            
   19:             df=DonatusFile(txt=self.getPage(_pn=nr,_id=id),baseUri=self.baseUri)
   20:            
   21:             return df.convertedXML()
   22:             #return DonatusFile(txt=self.getPage(_pn=nr)).convertedXML()
   23:         
   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>