관리-도구
편집 파일: exception.cpython-36.opt-1.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|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|��||<