Module Expr Str Import alias Import alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias alias FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Assign NameStore ListComp Call AttributeLoad NameLoad attr comprehension NameStore Call AttributeLoad NameLoad attr Str Num If CompareNotEq Call NameLoad NameLoad Num body Assign NameStore Str Assign NameStore TupleLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr BinOpMod NameLoad NameLoad orelse Assign TupleStore NameStore NameStore NameLoad Expr Call AttributeLoad Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr ListLoad attr Call NameLoad AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign NameStore Dict If CompareIs NameLoad NameLoad body Assign NameStore Call NameLoad NameLoad orelse Assign NameStore Call NameLoad NameLoad Str Str Assign NameStore Num Assign NameStore Str For NameStore NameLoad body AugAssignAdd NameStore Num Assign NameStore Call AttributeLoad NameLoad attr If Call AttributeLoad Call AttributeLoad NameLoad attr attr Str body Continue orelse If BoolOpOr Call AttributeLoad NameLoad attr Str Call AttributeLoad NameLoad attr Str body Assign NameStore BinOpAdd NameLoad NameLoad orelse If NameLoad body Expr Call NameLoad NameLoad NameLoad NameLoad NameLoad Assign NameStore NameLoad If NameLoad body Expr Call NameLoad NameLoad NameLoad NameLoad NameLoad For TupleStore NameStore NameStore Call AttributeLoad NameLoad attr body Assign SubscriptStore NameLoad Index NameLoad Call NameLoad NameLoad NameLoad NameLoad Return NameLoad decorator_list ClassDef bases NameLoad body Expr Str FunctionDef arguments args defaults body Expr Str decorator_list decorator_list ClassDef bases body Expr Str FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return SubscriptLoad AttributeLoad NameLoad attr Index AttributeLoad AttributeLoad NameLoad attr attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Dict If CompareIn Call NameLoad NameLoad NameLoad body Return NameLoad Assign SubscriptStore NameLoad Index Call NameLoad NameLoad NameLoad Return Call AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str Expr Call NameLoad NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad Call AttributeLoad NameLoad attr attr Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Dict If CompareIn Call NameLoad NameLoad NameLoad body Return NameLoad Assign SubscriptStore NameLoad Index Call NameLoad NameLoad NameLoad TryExcept body Return Call Call AttributeLoad Call AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr NameLoad NameLoad NameLoad NameLoad handlers ExceptHandler type AttributeLoad NameLoad attr body Pass If CompareIn AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Return Call AttributeLoad SubscriptLoad NameLoad Index AttributeLoad AttributeLoad NameLoad attr attr attr NameLoad NameLoad Return NameLoad decorator_list decorator_list ClassDef bases body Expr Str Expr Call NameLoad AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr BinOpAdd NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Num Num TryExcept body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Str handlers ExceptHandler body Return Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr Expr Call AttributeLoad NameLoad attr Return Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str Expr Call NameLoad NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str decorator_list ClassDef bases body Expr Str Expr Call NameLoad AttributeLoad NameLoad attr Assign NameStore NameLoad Assign NameStore Num Assign NameStore NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam NameParam NameParam defaults NameLoad NameLoad body Expr Str Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Expr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr If CompareIsNot NameLoad NameLoad body Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Assign AttributeStore NameLoad attr NameLoad orelse Return NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str If AttributeLoad NameLoad attr body Return Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr BinOpAdd NameLoad Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str If UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Assign AttributeStore NameLoad attr Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad Expr Call AttributeLoad AttributeLoad AttributeLoad NameLoad attr attr attr Str Assign NameStore Call NameLoad BinOpMod Str TupleLoad AttributeLoad NameLoad attr Assign AttributeStore AttributeLoad NameLoad attr attr NameLoad Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases AttributeLoad NameLoad attr body Expr Str Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults body Expr Str If CompareIsNot AttributeLoad NameLoad attr NameLoad body Expr Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad decorator_list decorator_list ClassDef bases NameLoad body Expr Str Expr Call NameLoad NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr SubscriptLoad AttributeLoad NameLoad attr Index Num decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam NameParam defaults body Expr Str Return Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Assign NameStore Call NameLoad Assign NameStore Call NameLoad NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Expr Call AttributeLoad NameLoad attr NameLoad AttributeLoad NameLoad attr AttributeLoad NameLoad attr Return NameLoad decorator_list decorator_list ClassDef bases body Expr Str Expr Call NameLoad AttributeLoad NameLoad attr FunctionDef arguments args NameParam NameParam defaults body Expr Str Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Expr Str For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call AttributeLoad NameLoad attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str TupleLoad Call NameLoad NameLoad AttributeLoad NameLoad attr decorator_list decorator_list ClassDef bases NameLoad body Expr Str Expr Call NameLoad NameLoad Assign NameStore NameLoad FunctionDef arguments args NameParam NameParam defaults vararg body Expr Str Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign AttributeStore NameLoad attr ListLoad While NameLoad body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr If Call AttributeLoad NameLoad attr Str body TryExcept body Assign NameStore Call NameLoad SubscriptLoad NameLoad Slice Num handlers ExceptHandler body Expr Call AttributeLoad NameLoad attr BinOpMod Str TupleLoad SubscriptLoad NameLoad Slice Num orelse Assign NameStore Call AttributeLoad Str attr ListComp Call AttributeLoad NameLoad attr comprehension NameStore NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr Str orelse If Call AttributeLoad NameLoad attr Str body Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call AttributeLoad NameLoad attr SubscriptLoad NameLoad Slice Num NameLoad orelse If Call AttributeLoad NameLoad attr Str body If Call AttributeLoad AttributeLoad NameLoad attr attr NameLoad body Expr Call AttributeLoad NameLoad attr Str orelse Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad NameLoad orelse Expr Call AttributeLoad AttributeLoad NameLoad attr attr Call NameLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return BinOpMod Str Call AttributeLoad Str attr Call NameLoad NameLoad AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Return Call NameLoad ListComp Call AttributeLoad NameLoad attr comprehension NameStore AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults NameLoad body Expr Str If CompareIs NameLoad NameLoad body Assign NameStore Dict Assign NameStore ListLoad For NameStore AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr Call AttributeLoad NameLoad attr NameLoad NameLoad Return Call NameLoad Call NameLoad NameLoad NameLoad decorator_list decorator_list
N/A N/A 
Support for aliases(5) configuration files.

@author: Jp Calderone
 N/A os N/A tempfile twisted.mail smtp twisted.internet reactor twisted.internet protocol twisted.internet defer twisted.python failure twisted.python log zope.interface implements Interface handle N/A N/A result line filename lineNo N/A N/A N/A 
    Parse a line from an aliases file.

    @type result: L{dict} mapping L{bytes} to L{list} of L{bytes}
    @param result: A dictionary mapping username to aliases to which
        the results of parsing the line are added.

    @type line: L{bytes}
    @param line: A line from an aliases file.

    @type filename: L{bytes}
    @param filename: The full or relative path to the aliases file.

    @type lineNo: L{int}
    @param lineNo: The position of the line within the aliases file.
     N/A parts N/A N/A N/A p strip N/A p N/A N/A line split : 1 N/A N/A N/A len parts 2 N/A N/A fmt Invalid format on line %d of alias file %s. N/A arg N/A lineNo filename N/A N/A N/A log err N/A fmt arg N/A N/A N/A user alias parts N/A N/A N/A N/A N/A result setdefault N/A N/A user strip N/A extend N/A map N/A str strip N/A N/A alias split , N/A loadAliasFile N/A N/A domains filename fp N/A None None N/A N/A 
    Load a file containing email aliases.

    Lines in the file should be formatted like so::

         username: alias1, alias2, ..., aliasN

    Aliases beginning with a C{|} will be treated as programs, will be run, and
    the message will be written to their stdin.

    Aliases beginning with a C{:} will be treated as a file containing
    additional aliases for the username.

    Aliases beginning with a C{/} will be treated as the full pathname to a file
    to which the message will be appended.

    Aliases without a host part will be assumed to be addresses on localhost.

    If a username is specified multiple times, the aliases for each are joined
    together as if they had all been on one line.

    Lines beginning with a space or a tab are continuations of the previous
    line.

    Lines beginning with a C{#} are comments.

    @type domains: L{dict} mapping L{bytes} to L{IDomain} provider
    @param domains: A mapping of domain name to domain object.

    @type filename: L{bytes} or L{NoneType <types.NoneType>}
    @param filename: The full or relative path to a file from which to load
        aliases. If omitted, the C{fp} parameter must be specified.

    @type fp: file-like object or L{NoneType <types.NoneType>}
    @param fp: The file from which to load aliases. If specified,
        the C{filename} parameter is ignored.

    @rtype: L{dict} mapping L{bytes} to L{AliasGroup}
    @return: A mapping from username to group of aliases.
     N/A result N/A N/A N/A fp None N/A N/A fp N/A file filename N/A N/A filename N/A getattr fp name <unknown> N/A i 0 N/A prev N/A line fp N/A N/A i 1 N/A line N/A N/A line rstrip N/A N/A N/A N/A N/A line lstrip startswith # N/A N/A N/A N/A N/A N/A N/A line startswith N/A N/A line startswith N/A N/A prev N/A prev line N/A N/A prev N/A N/A N/A handle result prev filename i N/A prev line N/A prev N/A N/A N/A handle result prev filename i N/A N/A u a N/A N/A result items N/A N/A N/A result N/A u N/A AliasGroup a domains u N/A result N/A IAlias N/A Interface N/A N/A 
    An interface for aliases.
     createMessageReceiver N/A N/A N/A N/A N/A 
        Create a message receiver.

        @rtype: L{IMessage <smtp.IMessage>} provider
        @return: A message receiver.
         N/A N/A AliasBase N/A N/A N/A 
    The default base class for aliases.

    @ivar domains: See L{__init__}.

    @type original: L{Address}
    @ivar original: The original address being aliased.
     __init__ N/A N/A self domains original N/A N/A N/A 
        @type domains: L{dict} mapping L{bytes} to L{IDomain} provider
        @param domains: A mapping of domain name to domain object.

        @type original: L{bytes}
        @param original: The original address being aliased.
         N/A N/A self domains domains N/A N/A self original N/A N/A smtp Address original N/A domain N/A N/A self N/A N/A N/A 
        Return the domain associated with original address.

        @rtype: L{IDomain} provider
        @return: The domain for the original address.
         N/A N/A N/A self domains N/A N/A N/A self original domain N/A resolve N/A N/A self aliasmap memo N/A None N/A N/A 
        Map this alias to its ultimate destination.

        @type aliasmap: L{dict} mapping L{bytes} to L{AliasBase}
        @param aliasmap: A mapping of username to alias or group of aliases.

        @type memo: L{NoneType <types.NoneType>} or L{dict} of L{AliasBase}
        @param memo: A record of the aliases already considered in the
            resolution process.  If provided, C{memo} is modified to include
            this alias.

        @rtype: L{IMessage <smtp.IMessage>} or L{NoneType <types.NoneType>}
        @return: A message receiver for the ultimate destination or None for
            an invalid destination.
         N/A N/A memo None N/A N/A memo N/A N/A N/A N/A str self memo N/A N/A None N/A N/A memo N/A N/A str self None N/A N/A N/A self createMessageReceiver N/A N/A AddressAlias N/A AliasBase N/A N/A 
    An alias which translates one email address into another.

    @type alias : L{Address}
    @ivar alias: The destination address.
     N/A N/A implements IAlias __init__ N/A N/A self alias N/A args N/A N/A 
        @type alias: L{Address}, L{User}, L{bytes} or object which can be
            converted into L{bytes}
        @param alias: The destination address.

        @type args: 2-L{tuple} of (0) L{dict} mapping L{bytes} to L{IDomain}
            provider, (1) L{bytes}
        @param args: Arguments for L{AliasBase.__init__}.
         N/A N/A N/A AliasBase __init__ self args N/A N/A self alias N/A N/A smtp Address alias N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{AddressAlias} instance.

        @rtype: L{bytes}
        @return: A string containing the destination address.
         N/A N/A <Address %s> N/A N/A self alias N/A createMessageReceiver N/A N/A self N/A N/A N/A 
        Create a message receiver which delivers a message to
        the destination address.

        @rtype: L{IMessage <smtp.IMessage>} provider
        @return: A message receiver.
         N/A N/A N/A N/A N/A self domain exists N/A str N/A self alias N/A resolve N/A N/A self aliasmap memo N/A None N/A N/A 
        Map this alias to its ultimate destination.

        @type aliasmap: L{dict} mapping L{bytes} to L{AliasBase}
        @param aliasmap: A mapping of username to alias or group of aliases.

        @type memo: L{NoneType <types.NoneType>} or L{dict} of L{AliasBase}
        @param memo: A record of the aliases already considered in the
            resolution process.  If provided, C{memo} is modified to include
            this alias.

        @rtype: L{IMessage <smtp.IMessage>} or L{NoneType <types.NoneType>}
        @return: A message receiver for the ultimate destination or None for
            an invalid destination.
         N/A N/A memo None N/A N/A memo N/A N/A N/A N/A str self memo N/A N/A None N/A N/A memo N/A N/A str self None N/A N/A N/A N/A N/A N/A N/A N/A self domain exists N/A N/A smtp User N/A self alias None None None memo N/A N/A N/A N/A smtp SMTPBadRcpt N/A N/A N/A N/A N/A N/A self alias local aliasmap N/A N/A N/A N/A N/A aliasmap N/A N/A N/A self alias local resolve aliasmap memo N/A None N/A N/A FileWrapper N/A N/A N/A 
    A message receiver which delivers a message to a file.

    @type fp: file-like object
    @ivar fp: A file used for temporary storage of the message.

    @type finalname: L{bytes}
    @ivar finalname: The name of the file in which the message should be
        stored.
     N/A N/A implements N/A smtp IMessage __init__ N/A N/A self filename N/A N/A N/A 
        @type filename: L{bytes}
        @param filename: The name of the file in which the message should be
            stored.
         N/A N/A self fp N/A N/A tempfile TemporaryFile N/A N/A self finalname filename N/A lineReceived N/A N/A self line N/A N/A N/A 
        Write a received line to the temporary file.

        @type line: L{bytes}
        @param line: A received line of the message.
         N/A N/A N/A N/A self fp write N/A line N/A eomReceived N/A N/A self N/A N/A N/A 
        Handle end of message by writing the message to the file.

        @rtype: L{Deferred <defer.Deferred>} which successfully results in
            L{bytes}
        @return: A deferred which succeeds with the name of the file to which
            the message has been stored or fails if the message cannot be
            saved to the file.
         N/A N/A N/A N/A self fp seek 0 0 N/A N/A N/A f N/A file N/A self finalname a N/A N/A N/A N/A N/A N/A defer fail N/A N/A failure Failure N/A N/A N/A f write N/A N/A N/A self fp read N/A N/A N/A N/A self fp close N/A N/A N/A f close N/A N/A N/A defer succeed N/A self finalname N/A connectionLost N/A N/A self N/A N/A N/A 
        Close the temporary file when the connection is lost.
         N/A N/A N/A N/A self fp close N/A N/A self fp None N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{FileWrapper} instance.

        @rtype: L{bytes}
        @return: A string containing the file name of the message.
         N/A N/A <FileWrapper %s> N/A N/A self finalname N/A N/A FileAlias N/A AliasBase N/A N/A 
    An alias which translates an address to a file.

    @ivar filename: See L{__init__}.
     N/A N/A implements IAlias __init__ N/A N/A self filename N/A args N/A N/A 
        @type filename: L{bytes}
        @param filename: The name of the file in which to store the message.

        @type args: 2-L{tuple} of (0) L{dict} mapping L{bytes} to L{IDomain}
            provider, (1) L{bytes}
        @param args: Arguments for L{AliasBase.__init__}.
         N/A N/A N/A AliasBase __init__ self args N/A N/A self filename filename N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{FileAlias} instance.

        @rtype: L{bytes}
        @return: A string containing the name of the file.
         N/A N/A <File %s> N/A N/A self filename N/A createMessageReceiver N/A N/A self N/A N/A N/A 
        Create a message receiver which delivers a message to the file.

        @rtype: L{FileWrapper}
        @return: A message receiver which writes a message to the file.
         N/A N/A FileWrapper N/A self filename N/A N/A ProcessAliasTimeout N/A Exception N/A N/A 
    An error indicating that a timeout occurred while waiting for a process
    to complete.
     N/A MessageWrapper N/A N/A N/A 
    A message receiver which delivers a message to a child process.

    @type completionTimeout: L{int} or L{float}
    @ivar completionTimeout: The number of seconds to wait for the child
        process to exit before reporting the delivery as a failure.

    @type _timeoutCallID: L{NoneType <types.NoneType>} or
        L{IDelayedCall <twisted.internet.interfaces.IDelayedCall>} provider
    @ivar _timeoutCallID: The call used to time out delivery, started when the
        connection to the child process is closed.

    @type done: L{bool}
    @ivar done: A flag indicating whether the child process has exited
        (C{True}) or not (C{False}).

    @type reactor: L{IReactorTime <twisted.internet.interfaces.IReactorTime>}
        provider
    @ivar reactor: A reactor which will be used to schedule timeouts.

    @ivar protocol: See L{__init__}.

    @type processName: L{bytes} or L{NoneType <types.NoneType>}
    @ivar processName: The process name.

    @type completion: L{Deferred <defer.Deferred>}
    @ivar completion: The deferred which will be triggered by the protocol
        when the child process exits.
     N/A N/A implements N/A smtp IMessage N/A done False N/A completionTimeout 60 N/A _timeoutCallID None N/A reactor reactor __init__ N/A N/A self protocol process reactor N/A None None N/A N/A 
        @type protocol: L{ProcessAliasProtocol}
        @param protocol: The protocol associated with the child process.

        @type process: L{bytes} or L{NoneType <types.NoneType>}
        @param process: The process name.

        @type reactor: L{NoneType <types.NoneType>} or L{IReactorTime
            <twisted.internet.interfaces.IReactorTime>} provider
        @param reactor: A reactor which will be used to schedule timeouts.
         N/A N/A self processName process N/A N/A self protocol protocol N/A N/A self completion N/A N/A defer Deferred N/A N/A N/A self protocol onEnd N/A self completion N/A N/A N/A N/A self completion addBoth N/A self _processEnded N/A N/A reactor None N/A N/A N/A self reactor reactor N/A _processEnded N/A N/A self result N/A N/A N/A 
        Record process termination and cancel the timeout call if it is active.

        @type result: L{Failure <failure.Failure>}
        @param result: The reason the child process terminated.

        @rtype: L{NoneType <types.NoneType>} or
            L{Failure <failure.Failure>}
        @return: None, if the process end is expected, or the reason the child
            process terminated, if the process end is unexpected.
         N/A N/A self done True N/A N/A N/A self _timeoutCallID None N/A N/A N/A N/A N/A self _timeoutCallID cancel N/A N/A self _timeoutCallID None N/A N/A result N/A lineReceived N/A N/A self line N/A N/A N/A 
        Write a received line to the child process.

        @type line: L{bytes}
        @param line: A received line of the message.
         N/A N/A self done N/A N/A N/A N/A N/A N/A N/A self protocol transport write N/A line N/A eomReceived N/A N/A self N/A N/A N/A 
        Disconnect from the child process and set up a timeout to wait for it
        to exit.

        @rtype: L{Deferred <defer.Deferred>}
        @return: A deferred which will be called back when the child process
            exits.
         N/A N/A N/A self done N/A N/A N/A N/A N/A N/A self protocol transport loseConnection N/A N/A self _timeoutCallID N/A N/A N/A self reactor callLater N/A self completionTimeout N/A self _completionCancel N/A N/A self completion N/A _completionCancel N/A N/A self N/A N/A N/A 
        Handle the expiration of the timeout for the child process to exit by
        terminating the child process forcefully and issuing a failure to the
        L{completion} deferred.
         N/A N/A self _timeoutCallID None N/A N/A N/A N/A N/A self protocol transport signalProcess KILL N/A exc N/A ProcessAliasTimeout N/A No answer after %s seconds N/A N/A self completionTimeout N/A N/A N/A self protocol onEnd None N/A N/A N/A N/A self completion errback N/A N/A failure Failure exc N/A connectionLost N/A N/A self N/A N/A N/A 
        Ignore notification of lost connection.
         N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{MessageWrapper} instance.

        @rtype: L{bytes}
        @return: A string containing the name of the process.
         N/A N/A <ProcessWrapper %s> N/A N/A self processName N/A N/A ProcessAliasProtocol N/A N/A protocol ProcessProtocol N/A N/A 
    A process protocol which errbacks a deferred when the associated
    process ends.

    @type onEnd: L{NoneType <types.NoneType>} or L{Deferred <defer.Deferred>}
    @ivar onEnd: If set, a deferred on which to errback when the process ends.
     N/A onEnd None processEnded N/A N/A self reason N/A N/A N/A 
        Call an errback.

        @type reason: L{Failure <failure.Failure>}
        @param reason: The reason the child process terminated.
         N/A N/A N/A self onEnd None N/A N/A N/A N/A N/A self onEnd errback reason N/A N/A ProcessAlias N/A AliasBase N/A N/A 
    An alias which is handled by the execution of a program.

    @type path: L{list} of L{bytes}
    @ivar path: The arguments to pass to the process. The first string is
        the executable's name.

    @type program: L{bytes}
    @ivar program: The path of the program to be executed.

    @type reactor: L{IReactorTime <twisted.internet.interfaces.IReactorTime>}
        and L{IReactorProcess <twisted.internet.interfaces.IReactorProcess>}
        provider
    @ivar reactor: A reactor which will be used to create and timeout the
        child process.
     N/A N/A implements IAlias N/A reactor reactor __init__ N/A N/A self path N/A args N/A N/A 
        @type path: L{bytes}
        @param path: The command to invoke the program consisting of the path
            to the executable followed by any arguments.

        @type args: 2-L{tuple} of (0) L{dict} mapping L{bytes} to L{IDomain}
            provider, (1) L{bytes}
        @param args: Arguments for L{AliasBase.__init__}.
         N/A N/A N/A AliasBase __init__ self args N/A N/A self path N/A N/A path split N/A N/A self program N/A N/A self path N/A 0 N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{ProcessAlias} instance.

        @rtype: L{bytes}
        @return: A string containing the command used to invoke the process.
         N/A N/A <Process %s> N/A N/A self path N/A spawnProcess N/A N/A self proto program path N/A N/A N/A 
        Spawn a process.

        This wraps the L{spawnProcess
        <twisted.internet.interfaces.IReactorProcess.spawnProcess>} method on
        L{reactor} so that it can be customized for test purposes.

        @type proto: L{IProcessProtocol
            <twisted.internet.interfaces.IProcessProtocol>} provider
        @param proto: An object which will be notified of all events related to
            the created process.

        @type program: L{bytes}
        @param program: The full path name of the file to execute.

        @type path: L{list} of L{bytes}
        @param path: The arguments to pass to the process. The first string
            should be the executable's name.

        @rtype: L{IProcessTransport
            <twisted.internet.interfaces.IProcessTransport>} provider
        @return: A process transport.
         N/A N/A N/A N/A self reactor spawnProcess proto program path N/A createMessageReceiver N/A N/A self N/A N/A N/A 
        Launch a process and create a message receiver to pass a message
        to the process.

        @rtype: L{MessageWrapper}
        @return: A message receiver which delivers a message to the process.
         N/A p N/A ProcessAliasProtocol N/A m N/A MessageWrapper p N/A self program N/A self reactor N/A N/A N/A self spawnProcess p N/A self program N/A self path N/A m N/A N/A MultiWrapper N/A N/A N/A 
    A message receiver which delivers a single message to multiple other
    message receivers.

    @ivar objs: See L{__init__}.
     N/A N/A implements N/A smtp IMessage __init__ N/A N/A self objs N/A N/A N/A 
        @type objs: L{list} of L{IMessage <smtp.IMessage>} provider
        @param objs: Message receivers to which the incoming message should be
            directed.
         N/A N/A self objs objs N/A lineReceived N/A N/A self line N/A N/A N/A 
        Pass a received line to the message receivers.

        @type line: L{bytes}
        @param line: A line of the message.
         N/A o N/A self objs N/A N/A N/A N/A o lineReceived line N/A eomReceived N/A N/A self N/A N/A N/A 
        Pass the end of message along to the message receivers.

        @rtype: L{DeferredList <defer.DeferredList>} whose successful results
            are L{bytes} or L{NoneType <types.NoneType>}
        @return: A deferred list which triggers when all of the message
            receivers have finished handling their end of message.
         N/A N/A N/A defer DeferredList N/A N/A N/A o eomReceived N/A o N/A self objs N/A connectionLost N/A N/A self N/A N/A N/A 
        Inform the message receivers that the connection has been lost.
         N/A o N/A self objs N/A N/A N/A N/A o connectionLost N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{MultiWrapper} instance.

        @rtype: L{bytes}
        @return: A string containing a list of the message receivers.
         N/A N/A <GroupWrapper %r> N/A N/A map str N/A self objs N/A N/A AliasGroup N/A AliasBase N/A N/A 
    An alias which points to multiple destination aliases.

    @type processAliasFactory: no-argument callable which returns
        L{ProcessAlias}
    @ivar processAliasFactory: A factory for process aliases.

    @type aliases: L{list} of L{AliasBase} which implements L{IAlias}
    @ivar aliases: The destination aliases.
     N/A N/A implements IAlias N/A processAliasFactory ProcessAlias __init__ N/A N/A self items N/A args N/A N/A 
        Create a group of aliases.

        Parse a list of alias strings and, for each, create an appropriate
        alias object.

        @type items: L{list} of L{bytes}
        @param items: Aliases.

        @type args: n-L{tuple} of (0) L{dict} mapping L{bytes} to L{IDomain}
            provider, (1) L{bytes}
        @param args: Arguments for L{AliasBase.__init__}.
         N/A N/A N/A AliasBase __init__ self args N/A N/A self aliases N/A N/A items N/A N/A addr N/A N/A N/A N/A items pop strip N/A N/A N/A addr startswith : N/A N/A N/A N/A f N/A file N/A addr N/A 1 N/A N/A N/A N/A N/A N/A log err N/A Invalid filename in alias file %r N/A N/A addr N/A 1 N/A N/A addr N/A N/A join N/A N/A N/A l strip N/A l f N/A N/A N/A items extend N/A N/A addr split , N/A N/A N/A N/A addr startswith | N/A N/A N/A N/A N/A self aliases append N/A N/A self processAliasFactory N/A addr N/A 1 args N/A N/A N/A N/A addr startswith / N/A N/A N/A N/A N/A os path isdir addr N/A N/A N/A N/A log err Directory delivery not supported N/A N/A N/A N/A N/A self aliases append N/A FileAlias addr args N/A N/A N/A N/A N/A self aliases append N/A AddressAlias addr args N/A __len__ N/A N/A self N/A N/A N/A 
        Return the number of aliases in the group.

        @rtype: L{int}
        @return: The number of aliases in the group.
         N/A N/A len N/A self aliases N/A __str__ N/A N/A self N/A N/A N/A 
        Build a string representation of this L{AliasGroup} instance.

        @rtype: L{bytes}
        @return: A string containing the aliases in the group.
         N/A N/A <AliasGroup [%s]> N/A N/A ,  join N/A map str N/A self aliases N/A createMessageReceiver N/A N/A self N/A N/A N/A 
        Create a message receiver for each alias and return a message receiver
        which will pass on a message to each of those.

        @rtype: L{MultiWrapper}
        @return: A message receiver which passes a message on to message
            receivers for each alias in the group.
         N/A N/A MultiWrapper N/A N/A N/A a createMessageReceiver N/A a N/A self aliases N/A resolve N/A N/A self aliasmap memo N/A None N/A N/A 
        Map each of the aliases in the group to its ultimate destination.

        @type aliasmap: L{dict} mapping L{bytes} to L{AliasBase}
        @param aliasmap: A mapping of username to alias or group of aliases.

        @type memo: L{NoneType <types.NoneType>} or L{dict} of L{AliasBase}
        @param memo: A record of the aliases already considered in the
            resolution process.  If provided, C{memo} is modified to include
            this alias.

        @rtype: L{MultiWrapper}
        @return: A message receiver which passes the message on to message
            receivers for the ultimate destination of each alias in the group.
         N/A N/A memo None N/A N/A memo N/A N/A r N/A N/A a N/A self aliases N/A N/A N/A N/A r append N/A N/A a resolve aliasmap memo N/A N/A MultiWrapper N/A filter None r N/A N/A