File: //usr/lib/python3/dist-packages/twisted/mail/__pycache__/mail.cpython-310.pyc
o
�baP � @ s� d Z ddlZddlZddlmZ ddlmZmZ ddlm Z ddl
mZ ddlm
Z
mZ ddlmZmZ dd lmZmZ G d
d� d�Zee�G dd
� d
��Zeej�G dd� d��ZG dd� dej�ZG dd� dej�ZdS )z
Mail service support.
� N)�implementer)�internet�service)�Portal)�defer)� protocols�smtp)�IAliasableDomain�IDomain)�log�utilc @ s� e Zd ZdZdd� Zdd� Zdd� Zed4d d
��Zdd� Z d
d� Z
dd� Zdd� Zdd� Z
dd� Zdefdd�Zdefdd�Zd4dd�Zdd� Zd d!� Zd"d#� Zd$d%� Zd&d'� Zd(d)� Zd*d+� Zd,d-� Zd.d/� Zd0d1� Zd2d3� ZdS )5�DomainWithDefaultDictz�
A simulated dictionary for mapping domain names to domain objects with
a default value for non-existing keys.
@ivar domains: See L{__init__}
@ivar default: See L{__init__}
c C s || _ || _dS )z�
@type domains: L{dict} of L{bytes} -> L{IDomain} provider
@param domains: A mapping of domain name to domain object.
@type default: L{IDomain} provider
@param default: The default domain.
N)�domains�default)�selfr r � r �3/usr/lib/python3/dist-packages/twisted/mail/mail.py�__init__$ s
zDomainWithDefaultDict.__init__c C �
|| _ dS )z
Set the default domain.
@type domain: L{IDomain} provider
@param domain: The default domain.
N)r )r �domainr r r �setDefaultDomain/ �
z&DomainWithDefaultDict.setDefaultDomainc C s t jdtdd� dS )�
Test for the presence of a domain name in this dictionary.
This always returns C{True} because a default value will be returned
if the name doesn't exist in this dictionary.
@type name: L{bytes}
@param name: A domain name.
@rtype: L{bool}
@return: C{True} to indicate that the domain name is in this
dictionary.
zotwisted.mail.mail.DomainWithDefaultDict.has_key was deprecated in Twisted 16.3.0. Use the `in` keyword instead.� )�category�
stacklevel� )�warnings�warn�DeprecationWarning�r �namer r r �has_key8 s �zDomainWithDefaultDict.has_keyNc C s | � }|D ]}|||<