Changeset 31 for branches

Show
Ignore:
Timestamp:
10/16/07 03:39:14 (1 year ago)
Author:
amcgregor
Message:

Applied additional_heders.patch and additional_headers2.patch as per ticket #20.

Location:
branches/2.0.5
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • branches/2.0.5/documentation/guide.wiki

    r26 r31  
    110110 * `disposition` -- Request disposition notification be sent to this address. 
    111111 * `encoding` -- Content encoding specific to this message. 
    112  * `headers` -- A list of additional headers. 
     112 * `headers` -- Additional headers for this message (dict, list or tuple of tuples/lists) 
    113113 * `organization` -- The descriptive Organization header. 
    114114 * `plain` -- Plain text content.  Can be automatically generated. 
  • branches/2.0.5/tests/basic_tests.py

    r29 r31  
    7777                assert 'Hello World' in msg.get_payload()  
    7878 
     79    def test_add_custom_headers_dict(self): 
     80        "Test that custom headers (dict type) can be attached." 
     81        extra_headers = {'Precendence': 'bulk', 'X-User': 'Alice'} 
     82        message = turbomail.Message('sender@foo.example',  
     83                                    'recipient@foo.example', 'foo bar') 
     84        message.plain = 'Hello World!' 
     85        message.headers = extra_headers 
     86        turbomail.enqueue(message) 
     87        msginfo = get_received_mail(self.sink) 
     88        msg = email.message_from_string(msginfo['mail'])  
     89        for header_name in extra_headers.keys(): 
     90            self.failUnless(msg.has_key(header_name)) 
     91            self.assertEquals(extra_headers[header_name], msg[header_name]) 
     92 
     93    def test_add_custom_headers_tuple(self): 
     94        "Test that a custom header (tuple type) can be attached." 
     95        extra_headers = (('Precendence', 'bulk'), ('X-User', 'Alice')) 
     96        message = turbomail.Message('sender@foo.example',  
     97                                    'recipient@foo.example', 'foo bar') 
     98        message.plain = 'Hello World!' 
     99        message.headers = extra_headers 
     100        turbomail.enqueue(message) 
     101        msginfo = get_received_mail(self.sink) 
     102        msg = email.message_from_string(msginfo['mail'])  
     103        for name, value in extra_headers: 
     104            self.failUnless(msg.has_key(name)) 
     105            self.assertEquals(value, msg[name]) 
     106 
     107    def test_add_custom_headers_list(self): 
     108        "Test that a custom header (list type) can be attached." 
     109        extra_headers = [('Precendence', 'bulk'), ('X-User', 'Alice')] 
     110        message = turbomail.Message('sender@foo.example',  
     111                                    'recipient@foo.example', 'foo bar') 
     112        message.plain = 'Hello World!' 
     113        message.headers = extra_headers 
     114        turbomail.enqueue(message) 
     115        msginfo = get_received_mail(self.sink) 
     116        msg = email.message_from_string(msginfo['mail'])  
     117        for name, value in extra_headers: 
     118            self.failUnless(msg.has_key(name)) 
     119            self.assertEquals(value, msg[name]) 
     120 
  • branches/2.0.5/turbomail/message.py

    r29 r31  
    141141                self.attachments = [] 
    142142                self.embedded = [] 
    143                 self.headers = [] 
     143                self.headers = {} 
    144144                self.smtpfrom = None 
    145145                 
     
    301301                message.add_header('X-Mailer', "TurboMail TurboGears Extension v.%s" % release.version) 
    302302                 
    303                 if type(self.headers) == type(()): 
     303                if type(self.headers) in [type(()), type([])]: 
    304304                        for header in self.headers: 
    305305                                if type(header) in [type(()), type([])]: 
     
    307307                                elif type(header) == type({}): 
    308308                                        message.add_header(**header) 
    309                  
    310                 if type(self.headers) == type({}): 
     309                elif type(self.headers) == type({}): 
    311310                        for name, header in self.headers.iteritems(): 
    312311                                if type(header) in [type(()), type([])]: