Package turbomail :: Package transports :: Module debug
[hide private]
[frames] | no frames]

Source Code for Module turbomail.transports.debug

 1  # encoding: utf-8 
 2   
 3  """Deliver to the logging system and store a cache.""" 
 4   
 5   
 6  import copy 
 7  import logging 
 8   
 9  from turbomail.api import TransportFactory, Transport 
10   
11   
12  __all__ = ['load'] 
13   
14  log = logging.getLogger("turbomail.transport") 
15  deliverylog = logging.getLogger("turbomail.delivery") 
16   
17   
18   
19 -def load():
20 return DebugTransportFactory()
21 22
23 -class DebugTransport(Transport):
24 - def __init__(self):
25 super(DebugTransport, self).__init__() 26 log.debug("Debug transport setup.") 27 self._sent_mails = []
28
29 - def deliver(self, message):
30 log.info("Attempting delivery of message %s." % message.id) 31 deliverylog.info("%s DELIVER" % message.id) 32 msg_string = str(message) 33 self._sent_mails.append(msg_string) 34 for i in msg_string.split("\n"): 35 deliverylog.debug("%s BODY %s" % (message.id, str(i))) 36 37 deliverylog.info("%s SENT" % message.id) 38 return True
39
40 - def get_sent_mails(self):
41 return copy.copy(self._sent_mails)
42 43
44 -class DebugTransportFactory(TransportFactory):
45 name = "debug" 46 transport = DebugTransport
47