�
Ϫ�f�] � �, � d Z ddlZddlZddlmZ ddlmZmZmZ ddl m
Z
ddlmZ ddl
mZmZ d� Zdd �Z G d
� d� Z ee� G d� d
e� � Z ee
j( � G d� d� � Z ee� G d� de� � Z G d� de� Z ee
j( � G d� d� � Z G d� dej4 � Z ee� G d� de� � Z ee
j( � G d� d� � Z ee� G d� de� � Zy)zD
Support for aliases(5) configuration files.
@author: Jp Calderone
� N)�implementer)�defer�protocol�reactor)�smtp)�IAlias)�failure�logc �x � |j dd� D �cg c] }|j � �� }}t |� dk7 rd}||f}t j ||z � y|\ }} | j |j � g � j
t t j | j d� � � yc c}w )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.
�:� � z+Invalid format on line %d of alias file %s.�,N) �split�strip�lenr
�err�
setdefault�extend�map�str)
�result�line�filename�lineNo�p�parts�fmt�arg�user�aliass
�4/usr/lib/python3/dist-packages/twisted/mail/alias.py�handler# s� � �" |