Changeset 68 for branches

Show
Ignore:
Timestamp:
11/07/07 15:03:24 (1 year ago)
Author:
amcgregor
Message:

A large number of branch/3.0 updates.

Location:
branches/3.0
Files:
1 added
8 modified

Legend:

Unmodified
Added
Removed
  • branches/3.0/setup.py

    r66 r68  
    6565                        'turbomail.extensions': [ 
    6666                                "utf8qp = turbomail.extensions.utf8qp", 
     67#                               "notification = turbomail.extensions.notification", 
    6768#                               "smime = turbomail.extensions.smime", 
    6869#                               "gpg = turbomail.extensions.gpg", 
  • branches/3.0/tests/test_message.py

    r52 r68  
    1818        def setUp(self): 
    1919                self.message = Message( 
    20                                 sender=("Sender", "sender@example.com"), 
     20                                author=("Author", "author@example.com"), 
    2121                                to=("Recipient", "recipient@example.com"), 
    2222                                subject="Test message subject.", 
     
    2525         
    2626        def test_message_properties(self): 
    27                 self.assertEqual(self.message.sender, [("Sender", "sender@example.com")]) 
    28                 self.assertEqual(str(self.message.sender), "Sender <sender@example.com>") 
     27                self.assertEqual(self.message.author, [("Author", "author@example.com")]) 
     28                self.assertEqual(str(self.message.author), "Author <author@example.com>") 
    2929                self.failUnless(isinstance(self.message.mime, MIMEText)) 
    3030         
    3131        def test_message_string(self): 
    3232                self.failUnless("To: Recipient <recipient@example.com>" in str(self.message)) 
    33                 self.failUnless("From: Sender <sender@example.com>" in str(self.message)) 
     33                self.failUnless("From: Author <author@example.com>" in str(self.message)) 
    3434                self.failUnless("Subject: Test message subject." in str(self.message)) 
    3535                self.failUnless("\n\nThis is a test message plain text body." in str(self.message)) 
     36         
     37        def test_mime_generation(self): 
     38                mime = self.message.mime 
     39                self.failUnless(self.message.mime is mime) 
     40                self.message.subject = "Test message subject." 
     41                self.failIf(self.message.mime is mime) 
    3642         
    3743        def test_recipients_collection(self): 
  • branches/3.0/turbomail/control.py

    r66 r68  
    4343                try: 
    4444                        import turbogears 
    45                 except ImportError: 
    46                         turbomail.config = dict() 
    47                 else: 
    48                         if not hasattr(turbomail, 'config'): 
    49                                 turbomail.config = dict() 
    50                                 return 
    5145                         
    5246                        turbogears.config.update(turbomail.config) 
     
    5448                        self.start_extension = self.start 
    5549                        self.shutdown_extension = self.stop 
     50                 
     51                except ImportError: 
     52                        pass 
     53                 
     54                except AttributeError: 
     55                        pass 
    5656         
    5757        def load_single_entry(self, group, name): 
  • branches/3.0/turbomail/extensions/smime.py

    r66 r68  
    2525                self.force = kw.get("force", turbomail.config.get("mail.smime.force", False)) 
    2626         
    27         def process_mime_message(self, message): 
    28                 newmessage = message 
     27        def mime_document(self, plain, rich=None): 
     28                message = super(Message, self).mime_document(plain, rich) 
    2929                basepath = turbomail.config.get("mail.smime.keystore", "./") 
    3030                 
     
    3232                        from M2Crypto import BIO, Rand, SMIME 
    3333                         
    34                         # Make a MemoryBuffer of the message. 
    3534                        buf = BIO.MemoryBuffer(str(message)) 
    36                          
    37                         # Seed the PRNG. 
    3835                        Rand.load_file('randpool.dat', -1) 
    3936                         
    40                         # Instantiate an SMIME object; set it up; sign the buffer. 
    4137                        s = SMIME.SMIME() 
    4238                        s.load_key( 
     
    5652                        del signature['Content-Disposition'] 
    5753                        signature.add_header("Content-Disposition", "attachment", filename="smime.p7s") 
    58                          
    5954                        newmessage.attach(signature) 
    6055                         
    61                         # Save the PRNG's state. 
    6256                        Rand.save_file('randpool.dat') 
     57                         
     58                        return newmessage 
    6359                 
    64                 return newmessage 
     60                return message 
  • branches/3.0/turbomail/extensions/utf8qp.py

    r66 r68  
    11# encoding: utf-8 
    22 
    3 """TurboMail extension API.""" 
     3"""TurboMail UTF-8 quoted-printable encoding sample extension.""" 
    44 
    55__version__ = "$Revision$" 
     
    1313from email import Charset 
    1414 
    15 __all__ = ['start'] 
     15__all__ = ['load'] 
    1616 
    1717 
  • branches/3.0/turbomail/managers/demand.py

    r66 r68  
    7070                                self.spawn() 
    7171                 
     72                return True 
     73                 
    7274        def wrapper(self): 
    7375                log.debug("Mail queue worker starting up.") 
    7476                 
    75                 self.worker() 
     77                try: 
     78                        self.worker() 
     79                 
     80                except: 
     81                        log.exception("Internal error in worker thread.") 
    7682                 
    7783                self.pool -= 1 
  • branches/3.0/turbomail/message.py

    r66 r68  
    3333        This allows you to define your own message to be delivered.""" 
    3434         
    35         def __init__(self, sender, recipient, message): 
     35        def __init__(self, envelope, recipient, message): 
    3636                self.id = str(uuid()) 
    37                 self.sender = AddressList(sender) 
     37                self.envelope = AddressList(envelope) 
    3838                self.recipient = AddressList(recipient) 
    3939                self.message = message 
    4040                 
    4141                super(StubMessage, self).__init__() 
    42          
    43         envelope = proeprty(lambda self: self.sender) 
    4442         
    4543        def __str__(self): 
     
    7270                if 'senders' in kw: kw['sender'] == kw['senders'] 
    7371                 
    74                 self._author = AddressList(configget("from", "mail.message.author")) 
     72                self._author = AddressList(configget("author", "mail.message.author")) 
    7573                self._sender = AddressList(configget("sender", "mail.message.sender")) 
    7674                self._reply = AddressList(configget("reply", "mail.message.reply")) 
     
    135133        recipients = property(recipients) 
    136134         
    137         def mimeDocument(self, plain, rich=None): 
     135        def mime_document(self, plain, rich=None): 
    138136                if not rich: 
    139137                        message = plain 
     
    179177                        rich = MIMEText(self._callable(self.rich).encode(self.encoding), 'html', self.encoding) 
    180178                 
    181                 message = self.generate_mime_document(plain, rich) 
    182                  
    183                 if hasattr(self, "process_mime_message"): 
    184                         message = self.process_mime_message(message) 
     179                message = self.mime_document(plain, rich) 
    185180                 
    186181                headers = [ 
  • branches/3.0/turbomail/providers/debug.py

    r66 r68  
    3131                log.info("Attempting delivery of message %s." % message.id) 
    3232                deliverylog.info("%s DELIVER" % message.id) 
    33                 deliverylog.debug("%s SUBJECT \"%s\"" % (message.id, message.subject)) 
    34                 deliverylog.debug("%s FROM%s %s" % (message.id, len(message.author) != 1 and "S" or "", str(message.author.addresses).replace("\n", ""))) 
    35                 if message.senders: 
    36                         deliverylog.debug("%s SENDER%s %s" % (message.id, len(message.sender) != 1 and "S" or "", str(message.sender.addresses).replace("\n", ""))) 
    37                 deliverylog.debug("%s RECIPIENTS %s" % (message.id, str(message.recipients.addresses).replace("\n", ""))) 
    3833                 
    3934                for i in str(message).split("\n"):