
    jgP
                     V    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e      Z
y)zo
print_settings
==============

Django command similar to 'diffsettings' but shows all active Django settings.
    N)settings)BaseCommandCommandError)signalcommandc                   2     e Zd ZdZ fdZed        Z xZS )Commandz!Print the active Django settings.c                     t         |   |       |j                  ddd       |j                  ddddd	
       |j                  dddd       |j                  dddt        d       y )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__s     o/var/www/html/Stanley/venv/lib/python3.12/site-packages/django_extensions/management/commands/print_settings.pyr   zCommand.add_arguments   s    f%3 	 	

 	(9	 	 	
 	+	 	 	
 	; 	 	
    c                 Z   |d   }t        t              D ci c]$  }|j                         s|t        t        |      & }}|r8|j	                         D ci c]  \  }t        fd|D              r| }}}|d   r7|D ]2  t        fd|j                         D              r&t        dz         |d   }|d   }	|dk(  r!t        t        j                  ||		             y |d
k(  r!dd l}
t        |
j                  ||		             y |dk(  rddlm}  ||       y |dk(  r)|j	                         D ]  \  }t        d|        y |dk(  r!|j                         D ]  }t        |        y |j	                         D ]  \  }t        dd|        y c c}w c c}}w )Nr
   c              3   J   K   | ]  }t        j                  |        y wNfnmatchfnmatchcase).0setting_namekeys     r   	<genexpr>z!Command.handle.<locals>.<genexpr>8   s!     `R_,w**3=R_    #r   c              3   J   K   | ]  }t        j                  |        y wr#   r$   )r'   r)   r(   s     r   r*   z!Command.handle.<locals>.<genexpr>=   s!     aM`c7..sLAM`r+   z%s not found in settings.r   r   json)r   yamlr   pprint)r/   textz = value40)dirr   isuppergetattritemsanykeysr   printr-   dumpsr.   dumpr/   values)r   argsoptionssetting_namesksettings_dctr)   r1   output_formatr   r.   r/   r(   s         `     @r   handlezCommand.handle0   s   	*9<XVA!))+78Q//V-9-?-?-A-AzsE`R_`` U
-A  
 6? -a\M^M^M`aa&'B\'QRR !.  )"F"$**\&9:f$$))L)89h&%< f$*002
U3./ 3g%%,,.e / +002
Uc512 3? Ws   F"F"!F')__name__
__module____qualname__r   r   r   rC   __classcell__)r   s   @r   r   r      s!    .D
6 "3 "3r    r   )__doc__r%   r-   django.confr   django.core.management.baser   r   "django_extensions.management.utilsr   r    r    r   <module>rM      s)        A <A3k A3r    