a
    8XhP
                     @   sP   d Z ddlZddlZddlmZ ddlmZmZ ddlm	Z	 G dd deZ
dS )zo
print_settings
==============

Django command similar to 'diffsettings' but shows all active Django settings.
    N)settings)BaseCommandCommandError)signalcommandc                       s,   e Zd ZdZ fddZedd Z  ZS )Commandz!Print the active Django settings.c                    sZ   t  | |jdddd |jddddd	d
 |jddddd |jdddtdd d S )Nsetting*z Specifies setting to be printed.)nargshelpz-fz--fail
store_truefailz&Fail if invalid setting name is given.)actiondestr
   z--formatsimpleformatzSpecifies output format.)defaultr   r
   z--indent   indentz(Specifies indent level for JSON and YAML)r   r   typer
   )superadd_argumentsadd_argumentint)selfparser	__class__ y/var/www/viveiro_mudafortebrasil/venv/lib/python3.9/site-packages/django_extensions/management/commands/print_settings.pyr      s2    zCommand.add_argumentsc           
         sT  |d dd t tD }r4fdd| D }|d rlD ]* t fdd| D s@td  q@|d	 }|d
 }|dkrttj||d n|dkrdd l	}t|j
||d n|dkrddlm} || nv|dkr| D ]\}}	td||	f  qnH|dkr,| D ]}	t|	 qn$| D ]\}}	td||	f  q4d S )Nr   c                 S   s    i | ]}|  r|tt|qS r   )isuppergetattrr   ).0kr   r   r   
<dictcomp>3       z"Command.handle.<locals>.<dictcomp>c                    s,   i | ]$\ }t  fd dD r |qS )c                 3   s   | ]}t  |V  qd S Nfnmatchfnmatchcase)r!   setting_namekeyr   r   	<genexpr>8   r$   z,Command.handle.<locals>.<dictcomp>.<genexpr>)any)r!   value)setting_namesr*   r   r#   6   s   r   c                 3   s   | ]}t | V  qd S r%   r&   )r!   r+   )r)   r   r   r,   =   r$   z!Command.handle.<locals>.<genexpr>z%s not found in settings.r   r   json)r   yamlr   pprint)r2   textz%s = %sr.   z
%-40s = %r)dirr   itemsr-   keysr   printr0   dumpsr1   dumpr2   values)
r   argsoptionsZsettings_dctZoutput_formatr   r1   r2   r+   r.   r   )r)   r/   r   handle0   s8    



zCommand.handle)__name__
__module____qualname__r
   r   r   r=   __classcell__r   r   r   r   r      s   r   )__doc__r'   r0   Zdjango.confr   Zdjango.core.management.baser   r   Z"django_extensions.management.utilsr   r   r   r   r   r   <module>   s   