Conjunto de mudanças 2531 no repositório publico


Ignorar:
Timestamp:
24/04/2006 09:48:39 (14 anos atrás)
Autor:
johnnysouza
Mensagem:

implementado metodo get header

Localização:
PloneImapClient/trunk
Arquivos:
3 editados

Legenda:

Não Modificado
Adicionado
Removido
  • PloneImapClient/trunk/Cache.py

    r2529 r2531  
    2424
    2525##code-section module-header #fill in your manual code here
     26import Header
    2627##/code-section module-header
    2728
     
    6768        self._headers = []
    6869       
    69         c = self._tool.getConecao()
     70        index = self._tool.getConecaoIndex()
     71        self._tool.conecoes[index][1].select(folder)
    7072       
    71         typ, headers  = c.fetch('*','(UID FLAGS BODY.PEEK[HEADER.FIELDS (FROM TO CC IN-REPLY-TO SUBJECT DATE)])')
     73        typ, headers  = self._tool.conecoes[index][1].fetch('1:*','(UID FLAGS BODY.PEEK[HEADER.FIELDS (FROM TO CC IN-REPLY-TO SUBJECT DATE)])')
    7274       
    73         if typ != 'No':
     75        if typ == 'No':
     76            print 'deu erro!!!! em _atualizar_headers do folder ' + folder
     77            print headers
    7478            return False
    7579
     
    7882            header = Header.Header(info, headers[i][1])
    7983            self._headers.append(header)
    80             print 'DATA: ' + header.get_date() + '   FROM: ' + str(header.get_from()[0]) + '   ASSUNTO: ' + header.get_subject()
     84            print 'HEADER: ' + str(i/2)
     85            print 'DATA: ' + header.get_date() + '   FROM: ' + str(header.get_from()[0]) + '   ASSUNTO: ' + str(header.get_subject())
    8186
    8287        return True
     
    8489
    8590    def atualizar(self,):
    86         i = self._tool.getConecaoIndex()
    87         typ, lista = self._tool.conecoes[i][1].list()
     91        index = self._tool.getConecaoIndex()
     92        typ, lista = self._tool.conecoes[index][1].list()
    8893        folders = []
    8994        for i in lista:
     
    98103                #
    99104                #
    100                 typ, [nmsg] = c.status(name,'(MESSAGES UNSEEN)')
     105                typ, [nmsg] = self._tool.conecoes[index][1].status(name,'(MESSAGES UNSEEN)')
    101106                # separa tudo
    102107                nmsg = nmsg.split('(')[-1].split(')')[0].split(' ')
     
    112117                folders.append([name,nlidas,total])
    113118        self._folders = folders
     119       
    114120        self._atualizar_headers('INBOX')
    115         c.logout()
    116 
    117 
    118121
    119122
     
    149152
    150153
    151     def get_headers(self):
    152         return self._headers
     154    def get_headers(self, folder):
     155        print
     156        print '*********** PEGANDO HEADER ************'
     157        print folder
     158        if folder == self.get_folderAtual():
     159            print 'folder igual'
     160            print self._headers
     161            return self._headers
     162        else:
     163            print 'folder diferente'
     164            self._atualizar_headers(folder)
     165            print self._headers
     166            return self._headers
    153167
    154168
  • PloneImapClient/trunk/Header.py

    r2523 r2531  
    2525##code-section module-header #fill in your manual code here
    2626
     27# Python
    2728import email
    2829from imaplib import ParseFlags
    2930
     31#zope
     32from AccessControl import ClassSecurityInfo
     33from Products.Archetypes.BaseObject import BaseObject
     34
    3035
    3136#CODING = 'iso-8859-1'
     
    4550
    4651
    47 class Header:
    48     ''' '''
     52class Header(BaseObject):
     53    '''
     54    header
     55    '''
     56    security = ClassSecurityInfo()
    4957    __implements__ = ()
    5058
     
    5260    ##/code-section class-header_Header
    5361
    54 
     62   
    5563    def __init__(self, info, header):
    5664        # self._init_attributes(*args,**kwargs)
    57         self.inicializar()
     65        self._inicializar(info,header)
    5866
    5967
     
    8694        TODO: tem que baixar o nivel dessa funcao, e muito ...
    8795        '''
    88         #print dados
    8996        if dados is [] or ():
    90             return ''
     97            return ['',]
    9198        dados = ', '.join(dados)
     99        dados_aux = dados
    92100        try:
    93             dados = email.Header.Header(dados)
    94             dados = email.Header.decode_header(dados)
    95             dados = email.Header.make_header(dados)
     101            dados_aux = email.Header.Header(dados_aux)
     102            dados_aux = email.Header.decode_header(dados_aux)
     103            dados_aux = email.Header.make_header(dados_aux)
    96104            global coding_local
    97             dados = unicode(dados).encode(coding_local)
     105            dados_aux = unicode(dados_aux).encode(coding_local)
     106            return [ dados_aux ]
    98107        except:
    99108            pass
     
    101110
    102111
    103     def _inicializar(self,):
     112    def _inicializar(self,info,header):
    104113        msg = email.message_from_string(header)
    105114       
     
    119128
    120129
    121 
     130    security.declarePublic('get_subject')
    122131    def get_subject(self):
    123132        return self._subject
    124133
    125 
     134    security.declarePublic('get_to')
    126135    def get_to(self):
    127136        return self._to
     
    135144        self._from=value
    136145
    137 
     146    security.declarePublic('get_flags')
    138147    def get_flags(self):
    139148        return self._flags
    140149
    141 
     150    security.declarePublic('get_cc')
    142151    def get_cc(self):
    143152        return self._cc
    144153
    145 
     154    security.declarePublic('get_date')
    146155    def get_date(self):
    147156        return self._date
    148157
    149 
     158    security.declarePublic('get_replyTo')
    150159    def get_replyTo(self):
    151160        return self._replyTo
     
    155164        self._flags=value
    156165
    157 
     166    security.declarePublic('get_flags')
    158167    def get_falgs(self):
    159168        return self._falgs
    160169
    161 
     170    security.declarePublic('get_from')
    162171    def get_from(self):
    163172        return self._from
     
    175184        self._replyTo=value
    176185
    177 
     186    security.declarePublic('get_UID')
    178187    def get_UID(self):
    179188        return self._UID
  • PloneImapClient/trunk/ImapClient.py

    r2529 r2531  
    144144       
    145145        """
     146        print
     147        print
     148        print
     149        print
     150        print
     151        print
     152        print
     153        print
    146154        mt = getToolByName(self,'portal_membership')
    147155        membro = mt.getAuthenticatedMember()
     
    180188
    181189        for i in xrange(len(self.caches)):
    182             if self.caches.getUser() == str(membro):
     190            if self.caches[i].getUser() == str(membro):
    183191                    return i
    184192       
     
    218226       
    219227        """
    220        
    221         pass
    222 
     228        print
     229        print
     230        print
     231        print
     232        print
     233        print
     234        print
     235        print
     236        i = self.getCacheIndex()
     237        return self.caches[i].get_headers(folder)
    223238
    224239
     
    228243       
    229244        """
    230        
    231         pass
    232 
     245        i = self.getCacheIndex()
     246        return self.caches[i].get_folders()
    233247
    234248
Note: Veja TracChangeset para ajuda no uso do visualizador de conjunto de mudanças.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.