Repository URL to install this package:
|
Version:
2.5 ▾
|
ó
EYc @ s d Z d e f d YZ d e f d YZ d e f d YZ d e f d YZ d e f d
YZ d e f d YZ d
S( s Common DNS Exceptions.t DNSExceptionc B sP e Z d Z d Z e Z d Z d Z d Z d Z
d Z d Z RS( s¡ 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.
c O s | j | | | r: | j | | _ t | | _ n t | _ | j d k rd | j | _ n | r t t | j
| n t t | j
| j d S( N( t
_check_paramst
_check_kwargst kwargst strt msgt dictt Nonet __doc__t superR t __init__( t selft argsR ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR
. s c O s7 | s | r3 t | t | k s3 t d n d S( ss Old exceptions supported only args and not kwargs.
For sanity we do not allow to mix old and new behavior.s= keyword arguments are mutually exclusive with positional argsN( t boolt AssertionError( R R R ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR = s c K s; | r7 t | j | j k s7 t d | j n | S( Ns- following set of keyword args is required: %s( t sett keyst supp_kwargsR ( R R ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR E s
c K s i } x | j D]t \ } } t | t t f r} t t t | | | <t | | d k r | | j | | <q q | | | <q W| S( s Format kwargs before printing them.
Resulting dictionary has to have keys necessary for str.format call
on fmt class variable.
i ( t itemst
isinstancet listR t mapR t lent pop( R R t fmtargst kwt data( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyt _fmt_kwargsL s c C sK | j r4 | j r4 | j | j } | j j | St t | j Sd S( N( R t fmtR t formatR R t __str__( R R ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR ^ s N(
t __name__t
__module__R R R R R R R
R R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR s t FormErrorc B s e Z d Z RS( s DNS message is malformed.( R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR! h s t SyntaxErrorc B s e Z d Z RS( s Text input is malformed.( R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR" m s t
UnexpectedEndc B s e Z d Z RS( s Text input ended unexpectedly.( R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR# r s t TooBigc B s e Z d Z RS( s The DNS message is too big.( R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR$ w s t Timeoutc B s# e Z d Z e d g Z d Z RS( s The DNS operation timed out.t timeouts3 The DNS operation timed out after {timeout} seconds( R R R R R R ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyR% | s N( R t ExceptionR R! R" R# R$ R% ( ( ( sS /home/tvault/.virtenv/lib/python2.7/site-packages/eventlet/support/dns/exception.pyt <module> s U