AlkantarClanX12
Current Path : /lib/python3.6/site-packages/dns/__pycache__/ |
Current File : //lib/python3.6/site-packages/dns/__pycache__/exception.cpython-36.pyc |
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|r t |�t |�ks td��dS )zsOld exceptions supported only args and not kwargs. For sanity we do not allow to mix old and new behavior.z=keyword arguments are mutually exclusive with positional argsN)�bool�AssertionError)r r r r r r r = s zDNSException._check_paramsc K s( |r$t |j� �| jks$td| j ��|S )Nz-following set of keyword args is required: %s)�set�keys�supp_kwargsr )r r r r r r E s zDNSException._check_kwargsc K sh i }x^|j � D ]R\}}t|ttf�rXttt|��||<