Conjunto de mudanças 2582 no repositório publico


Ignorar:
Timestamp:
10/05/2006 17:00:46 (13 anos atrás)
Autor:
johnnysouza
Mensagem:

implementado suporte a mensagens nao multipart

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

Legenda:

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

    r2580 r2582  
    7171                flags = self._headers[i].get_flags()
    7272                if not r'\Seen' in flags:
    73                     self._headers[i].set_flags(flags.append(r'\Seen'))
     73                    flags.append(r'\Seen')
     74                    self._headers[i].set_flags(flags)
    7475                    return
    7576        return
  • PloneImapClient/trunk/Header.py

    r2580 r2582  
    156156        return self._UID
    157157
    158     def set_falgs(self,value):
    159         self._falgs=value
     158    def set_flags(self,value):
     159        self._flags=value
    160160
    161     def get_falgs(self):
    162         return self._falgs
     161    def get_flags(self):
     162        return self._flags
    163163
    164164    def set_date(self,value):
  • PloneImapClient/trunk/ImapClient.py

    r2581 r2582  
    250250        msg = self.caches[index].getMail(folder,UID)
    251251        mail = []
    252         for i in msg.walk():
    253             if i.get_content_type() == 'text/plain':
    254                 part = i.get_payload(decode=1)
    255                 try:
    256                     mail.append(part.decode(i.get_content_charset()).encode('UTF-8'))
    257                 except:
    258                     mail.append(part)
    259        
     252        if msg.is_multipart():
     253            for i in msg.walk():
     254                if i.get_content_type() == 'text/plain':
     255                    part = i.get_payload(decode=1)
     256                    try:
     257                        mail.append(part.decode(i.get_content_charset()).encode('UTF-8'))
     258                    except:
     259                        mail.append(part)
     260        elif msg.get_content_type() == 'text/plain':
     261            text = msg.get_payload(decode=1)
     262            try:
     263                mail.append(text.decode(msg.get_content_charset()).encode('UTF-8'))
     264            except:
     265                mail.append(text)
     266
    260267        return tuple(mail)
    261268
     
    268275        index = self.getCacheIndex()
    269276        msg = self.caches[index].getMail(folder,UID)
    270         contents = msg.get_payload()
    271277        anexos = []
    272         for i in xrange(len(contents)):
    273             if contents[i].get_content_type() != 'text/plain':
    274                 anexos.append( ( i , contents[i].get_content_type(), contents[i].get_filename('Anexo %d' % i) ) )
     278        if msg.is_multipart():
     279            contents = msg.get_payload()
     280            for i in xrange(len(contents)):
     281                if contents[i].get_content_type() != 'text/plain':
     282                    anexos.append( ( i , contents[i].get_content_type(), contents[i].get_filename('Anexo %d' % i) ) )
     283        elif msg.get_content_type() != 'text/plain':
     284            anexos.append( ( 0 , msg.get_content_type(), msg.get_filename('Anexo %d' % 0) ) )
     285       
    275286        return tuple(anexos)
    276287
     
    285296        index = self.getCacheIndex()
    286297        msg = self.caches[index].getMail(folder,UID)
    287         anexo = msg.get_payload()[num]
     298        if msg.is_multipart():
     299            anexo = msg.get_payload()[num]
     300        else:
     301            anexo = msg
    288302       
    289303        RESPONSE.setHeader('Content-Type', anexo.get_content_type())
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.