
vÅÏ^’  ã               @   sÈ  d  Z  Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd	 d
 „  d
 e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z	 Gd d „  d e ƒ Z
 Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d „  d e ƒ Z Gd d  „  d  e ƒ Z Gd! d" „  d" e ƒ Z d# Z Gd$ d% „  d% e ƒ Z Gd& d' „  d' e ƒ Z Gd( d) „  d) e ƒ Z d* S)+z.
Global Django exception and warning classes.
c               @   s   e  Z d  Z d Z d S)ÚFieldDoesNotExistz(The requested model field does not existN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__© r   r   ú8/tmp/pip-build-8lau8j11/django/django/core/exceptions.pyr      s   r   c               @   s   e  Z d  Z d Z d S)ÚAppRegistryNotReadyz-The django.apps registry is not populated yetN)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e  Z d  Z d Z d Z d S)ÚObjectDoesNotExistz#The requested object does not existTN)r   r   r   r   Zsilent_variable_failurer   r   r   r   r	      s   r	   c               @   s   e  Z d  Z d Z d S)ÚMultipleObjectsReturnedz?The query returned multiple objects when only one was expected.N)r   r   r   r   r   r   r   r   r
      s   r
   c               @   s   e  Z d  Z d Z d S)ÚSuspiciousOperationz!The user did something suspiciousN)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e  Z d  Z d Z d S)ÚSuspiciousMultipartFormz+Suspect MIME request in multipart form dataN)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e  Z d  Z d Z d S)ÚSuspiciousFileOperationz/A Suspicious filesystem operation was attemptedN)r   r   r   r   r   r   r   r   r   #   s   r   c               @   s   e  Z d  Z d Z d S)ÚDisallowedHostz'HTTP_HOST header contains invalid valueN)r   r   r   r   r   r   r   r   r   (   s   r   c               @   s   e  Z d  Z d Z d S)ÚDisallowedRedirectz&Redirect to scheme not in allowed listN)r   r   r   r   r   r   r   r   r   -   s   r   c               @   s   e  Z d  Z d Z d S)ÚTooManyFieldsSentzl
    The number of fields in a GET or POST request exceeded
    settings.DATA_UPLOAD_MAX_NUMBER_FIELDS.
    N)r   r   r   r   r   r   r   r   r   2   s   r   c               @   s   e  Z d  Z d Z d S)ÚRequestDataTooBigzq
    The size of the request (excluding any file uploads) exceeded
    settings.DATA_UPLOAD_MAX_MEMORY_SIZE.
    N)r   r   r   r   r   r   r   r   r   :   s   r   c               @   s   e  Z d  Z d Z d S)ÚRequestAbortedz=The request was closed before it was completed, or timed out.N)r   r   r   r   r   r   r   r   r   B   s   r   c               @   s   e  Z d  Z d Z d S)ÚPermissionDeniedz+The user did not have permission to do thatN)r   r   r   r   r   r   r   r   r   G   s   r   c               @   s   e  Z d  Z d Z d S)ÚViewDoesNotExistz!The requested view does not existN)r   r   r   r   r   r   r   r   r   L   s   r   c               @   s   e  Z d  Z d Z d S)ÚMiddlewareNotUsedz8This middleware is not used in this server configurationN)r   r   r   r   r   r   r   r   r   Q   s   r   c               @   s   e  Z d  Z d Z d S)ÚImproperlyConfiguredz'Django is somehow improperly configuredN)r   r   r   r   r   r   r   r   r   V   s   r   c               @   s   e  Z d  Z d Z d S)Ú
FieldErrorz(Some kind of problem with a model field.N)r   r   r   r   r   r   r   r   r   [   s   r   Ú__all__c                   s‚   e  Z d  Z d Z d d ‡  f d d † Z e d d „  ƒ Z e d d „  ƒ Z d	 d
 „  Z d d „  Z	 d d „  Z
 d d „  Z ‡  S)ÚValidationErrorzAn error while validating data.Nc                s”  t  ƒ  j | | | ƒ t | t ƒ rx t | d ƒ r@ | j } n8 t | d ƒ s[ | j } n | j | j | j	 } } } t | t
 ƒ rÛ i  |  _ xý | j ƒ  D]7 \ } } t | t ƒ sÄ t | ƒ } | j |  j | <q Wnµ t | t ƒ rig  |  _ xš | D]h } t | t ƒ st | ƒ } t | d ƒ rO|  j j t | j j ƒ  g  ƒ ƒ qú |  j j | j ƒ qú Wn' | |  _ | |  _ | |  _	 |  g |  _ d S)aÒ  
        The `message` argument can be a single error, a list of errors, or a
        dictionary that maps field names to lists of errors. What we define as
        an "error" can be either a simple string or an instance of
        ValidationError with its message attribute set, and what we define as
        list or dictionary can be an actual `list` or `dict` or an instance
        of ValidationError with its `error_list` or `error_dict` attribute set.
        Ú
error_dictÚmessageN)ÚsuperÚ__init__Ú
isinstancer   Úhasattrr   Ú
error_listr   ÚcodeÚparamsÚdictÚitemsÚlistÚextendÚsumÚvalues)Úselfr   r!   r"   ÚfieldÚmessages)Ú	__class__r   r   r   e   s2    			%			zValidationError.__init__c             C   s   t  |  d ƒ t |  ƒ S)Nr   )Úgetattrr#   )r)   r   r   r   Úmessage_dict   s    zValidationError.message_dictc             C   s2   t  |  d ƒ r( t t |  ƒ j ƒ  g  ƒ St |  ƒ S)Nr   )r   r'   r#   r(   r%   )r)   r   r   r   r+   ˜   s    zValidationError.messagesc             C   sk   t  |  d ƒ rK xU |  j j ƒ  D]% \ } } | j | g  ƒ j | ƒ q Wn | j t g  ƒ j |  j ƒ | S)Nr   )r   r   r$   Ú
setdefaultr&   ÚNON_FIELD_ERRORSr    )r)   r   r*   r    r   r   r   Úupdate_error_dictž   s
     z!ValidationError.update_error_dictc             c   s‹   t  |  d ƒ rI xu |  j j ƒ  D]# \ } } | t t | ƒ ƒ f Vq Wn> x; |  j D]0 } | j } | j rx | | j ;} t | ƒ VqS Wd  S)Nr   )	r   r   r$   r%   r   r    r   r"   Ústr)r)   r*   ÚerrorsÚerrorr   r   r   r   Ú__iter__¦   s    		zValidationError.__iter__c             C   s/   t  |  d ƒ r t t |  ƒ ƒ St t |  ƒ ƒ S)Nr   )r   Úreprr#   r%   )r)   r   r   r   Ú__str__±   s    zValidationError.__str__c             C   s   d |  S)NzValidationError(%s)r   )r)   r   r   r   Ú__repr__¶   s    zValidationError.__repr__)r   r   r   r   r   Úpropertyr.   r+   r1   r5   r7   r8   r   r   )r,   r   r   c   s   +r   c               @   s   e  Z d  Z d Z d S)ÚEmptyResultSetz)A database query predicate is impossible.N)r   r   r   r   r   r   r   r   r:   º   s   r:   c               @   s   e  Z d  Z d Z d S)ÚSynchronousOnlyOperationzBThe user tried to call a sync-only function from an async context.N)r   r   r   r   r   r   r   r   r;   ¿   s   r;   N)r   Ú	Exceptionr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r0   r   r:   r;   r   r   r   r   Ú<module>   s*   W