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>