Your IP : 18.220.227.250
3
d��W � @ sh d Z G dd� de�ZG dd� de�ZG dd� de�ZG dd� de�ZG d d
� d
e�ZG dd� de�Zd
S )zCommon DNS Exceptions.c sR e Zd ZdZdZe� ZdZ� fdd�Zdd� Z dd� Z
d d
� Z� fdd�Z� Z
S )
�DNSExceptiona� Abstract base class shared by all dnspython exceptions.
It supports two basic modes of operation:
a) Old/compatible mode is used if __init__ was called with
empty **kwargs.
In compatible mode all *args are passed to standard Python Exception class
as before and all *args are printed by standard __str__ implementation.
Class variable msg (or doc string if msg is None) is returned from str()
if *args is empty.
b) New/parametrized mode is used if __init__ was called with
non-empty **kwargs.
In the new mode *args has to be empty and all kwargs has to exactly match
set in class variable self.supp_kwargs. All kwargs are stored inside
self.kwargs and used in new __str__ implementation to construct
formatted message based on self.fmt string.
In the simplest case it is enough to override supp_kwargs and fmt
class variables to get nice parametrized messages.
Nc sp | j ||� |r*| jf |�| _t| �| _nt� | _| jd krD| j| _|rZtt| �j |� ntt| �j | j� d S )N)
�
_check_params�
_check_kwargs�kwargs�str�msg�dict�__doc__�superr �__init__)�self�argsr )� __class__� �/usr/lib/python3.6/exception.pyr
. s
zDNSException.__init__c O s |s|rdS )zsOld exceptions supported only args and not kwargs.
For sanity we do not allow to mix old and new behavior.Nr )r r r r r r r = s zDNSException._check_paramsc K s |r|S )Nr )r r r r r r E s zDNSException._check_kwargsc K sh i }x^|j � D ]R\}}t|ttf�rXttt|��||<