
vÅÏ^È  ã               @   s`   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z m Z Gd d „  d e ƒ Z	 d S)é    )Úapps)Úchecks)Úregistry)ÚBaseCommandÚCommandErrorc               @   s4   e  Z d  Z d Z d Z d d „  Z d d „  Z d S)ÚCommandz8Checks the entire Django project for potential problems.Fc          
   C   sŸ   | j  d d d d d ƒ| j  d d d d	 d
 d d d ƒ| j  d d d d d ƒ| j  d d d d d ƒ| j  d d d d d d d d d g d d ƒd  S)NÚargsÚmetavarÚ	app_labelÚnargsÚ*z--tagz-tÚactionÚappendÚdestÚtagsÚhelpz'Run only checks labeled with given tag.z--list-tagsÚ
store_truezList available tags.z--deployzCheck deployment settings.z--fail-levelÚdefaultÚERRORÚchoicesÚCRITICALÚWARNINGÚINFOÚDEBUGz[Message level that will cause the command to exit with a non-zero status. Default is ERROR.)Úadd_argument)ÚselfÚparser© r   úG/tmp/pip-build-8lau8j11/django/django/core/management/commands/check.pyÚadd_arguments   s    zCommand.add_argumentsc                só   | d ‰  | d r@ |  j  j d j t t j ˆ  ƒ ƒ ƒ ƒ d  S| r\ d d „  | Dƒ } n d  } | d } | rº y# t ‡  f d d †  | Dƒ ƒ } Wn t k
 r© Yn Xt d	 | ƒ ‚ |  j	 d
 | d | d d d ˆ  d t
 t | d ƒ ƒ d  S)NZdeployZ	list_tagsÚ
c             S   s   g  |  ] } t  j | ƒ ‘ q Sr   )r   Zget_app_config)Ú.0r
   r   r   r   ú
<listcomp>+   s   	 z"Command.handle.<locals>.<listcomp>r   c             3   s'   |  ] } t  j | ˆ  ƒ s | Vq d  S)N)r   Z
tag_exists)r!   Útag)Úinclude_deployment_checksr   r   ú	<genexpr>3   s    z!Command.handle.<locals>.<genexpr>z+There is no system check with the "%s" tag.Úapp_configsZdisplay_num_errorsTr$   Z
fail_level)ÚstdoutÚwriteÚjoinÚsortedr   Ztags_availableÚnextÚStopIterationr   ÚcheckÚgetattrr   )r   Z
app_labelsÚoptionsr&   r   Zinvalid_tagr   )r$   r   Úhandle$   s*    

(
 	zCommand.handleN)Ú__name__Ú
__module__Ú__qualname__r   Zrequires_system_checksr   r0   r   r   r   r   r      s   r   N)
Zdjango.appsr   Zdjango.corer   Zdjango.core.checks.registryr   Zdjango.core.management.baser   r   r   r   r   r   r   Ú<module>   s   