Back to index

python3.2  3.2.2
Public Member Functions | Public Attributes | Static Public Attributes
test.test_smtpd.BrokenDummyServer Class Reference
Inheritance diagram for test.test_smtpd.BrokenDummyServer:
Inheritance graph
[legend]
Collaboration diagram for test.test_smtpd.BrokenDummyServer:
Collaboration graph
[legend]

List of all members.

Public Member Functions

def listen
def process_message
def handle_accepted
def __repr__
def add_channel
def del_channel
def create_socket
def set_socket

Public Attributes

 messages
 socket
 family_and_type

Static Public Attributes

 channel_class = SMTPChannel
 debug = False
 connected = False
 accepting = False
 closing = False
 addr = None
tuple ignore_log_types = frozenset(['warning'])

Detailed Description

Definition at line 24 of file test_smtpd.py.


Member Function Documentation

def asyncore.dispatcher.__repr__ (   self) [inherited]

Definition at line 264 of file asyncore.py.

00264 
00265     def __repr__(self):
00266         status = [self.__class__.__module__+"."+self.__class__.__name__]
00267         if self.accepting and self.addr:
00268             status.append('listening')
00269         elif self.connected:
00270             status.append('connected')
00271         if self.addr is not None:
00272             try:
00273                 status.append('%s:%d' % self.addr)
00274             except TypeError:
00275                 status.append(repr(self.addr))
00276         return '<%s at %#x>' % (' '.join(status), id(self))

def asyncore.dispatcher.add_channel (   self,
  map = None 
) [inherited]

Definition at line 279 of file asyncore.py.

00279 
00280     def add_channel(self, map=None):
00281         #self.log_info('adding channel %s' % self)
00282         if map is None:
00283             map = self._map
00284         map[self._fileno] = self

Here is the caller graph for this function:

def asyncore.dispatcher.create_socket (   self,
  family,
  type 
) [inherited]

Definition at line 294 of file asyncore.py.

00294 
00295     def create_socket(self, family, type):
00296         self.family_and_type = family, type
00297         sock = socket.socket(family, type)
00298         sock.setblocking(0)
00299         self.set_socket(sock)

Here is the caller graph for this function:

def asyncore.dispatcher.del_channel (   self,
  map = None 
) [inherited]

Definition at line 285 of file asyncore.py.

00285 
00286     def del_channel(self, map=None):
00287         fd = self._fileno
00288         if map is None:
00289             map = self._map
00290         if fd in map:
00291             #self.log_info('closing channel %d:%s' % (fd, self))
00292             del map[fd]
00293         self._fileno = None

Here is the caller graph for this function:

def smtpd.SMTPServer.handle_accepted (   self,
  conn,
  addr 
) [inherited]

Reimplemented in test.test_smtplib.SimSMTPServer.

Definition at line 448 of file smtpd.py.

00448 
00449     def handle_accepted(self, conn, addr):
00450         print('Incoming connection from %s' % repr(addr), file=DEBUGSTREAM)
00451         channel = self.channel_class(self, conn, addr)

def test.test_smtpd.BrokenDummyServer.listen (   self,
  num 
)

Definition at line 25 of file test_smtpd.py.

00025 
00026     def listen(self, num):
00027         raise DummyDispatcherBroken()
00028 

Here is the caller graph for this function:

def test.test_smtpd.DummyServer.process_message (   self,
  peer,
  mailfrom,
  rcpttos,
  data 
) [inherited]
Override this abstract method to handle messages from the client.

peer is a tuple containing (ipaddr, port) of the client that made the
socket connection to our smtp port.

mailfrom is the raw address the client claims the message is coming
from.

rcpttos is a list of raw addresses the client wishes to deliver the
message to.

data is a string containing the entire full text of the message,
headers (if supplied) and all.  It has been `de-transparencied'
according to RFC 821, Section 4.5.2.  In other words, a line
containing a `.' followed by other text has had the leading dot
removed.

This function should return None, for a normal `250 Ok' response;
otherwise it returns the desired response string in RFC 821 format.

Reimplemented from smtpd.SMTPServer.

Definition at line 14 of file test_smtpd.py.

00014 
00015     def process_message(self, peer, mailfrom, rcpttos, data):
00016         self.messages.append((peer, mailfrom, rcpttos, data))
00017         if data == 'return status':
00018             return '250 Okish'
00019 

def asyncore.dispatcher.set_socket (   self,
  sock,
  map = None 
) [inherited]

Definition at line 300 of file asyncore.py.

00300 
00301     def set_socket(self, sock, map=None):
        self.socket = sock

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

asyncore.dispatcher.accepting = False [static, inherited]

Definition at line 227 of file asyncore.py.

asyncore.dispatcher.addr = None [static, inherited]

Reimplemented in smtpd.SMTPChannel.

Definition at line 229 of file asyncore.py.

smtpd.SMTPServer.channel_class = SMTPChannel [static, inherited]

Definition at line 428 of file smtpd.py.

asyncore.dispatcher.closing = False [static, inherited]

Definition at line 228 of file asyncore.py.

asyncore.dispatcher.connected = False [static, inherited]

Reimplemented in asyncore.file_dispatcher.

Definition at line 226 of file asyncore.py.

asyncore.dispatcher.debug = False [static, inherited]

Definition at line 225 of file asyncore.py.

Definition at line 295 of file asyncore.py.

tuple asyncore.dispatcher.ignore_log_types = frozenset(['warning']) [static, inherited]

Definition at line 230 of file asyncore.py.

Definition at line 12 of file test_smtpd.py.


The documentation for this class was generated from the following file: