
    Vh                     2    d dl mZ d fdZ G d de      Zy)    )BaseCommandc                 J    | j                  d      xs | j                          S )N_)
startswithisupper)ks    \/home/dcms/DCMS/lib/python3.12/site-packages/django/core/management/commands/diffsettings.py<lambda>r
      s    q||C/@/S		O     c           
      x    t        |       D ci c]!  } ||      r|t        t        | |            # c}S c c}w )z2Convert a module namespace to a Python dictionary.)dirreprgetattr)module	omittabler   s      r	   module_to_dictr      s1    14VQAIaLAtGFA&''QQQs   77c                   ,    e Zd ZdZg Zd Zd Zd Zd Zy)CommandzWDisplays differences between the current settings.py and Django's
    default settings.c                 ~    |j                  ddd       |j                  ddd       |j                  d	d
dd       y )Nz--all
store_truezfDisplay all settings, regardless of their value. In "hash" mode, default values are prefixed by "###".)actionhelpz	--defaultMODULEzvThe settings module to compare the current settings against. Leave empty to compare against Django's default settings.)metavarr   z--outputhashr   unifieda  Selects the output format. 'hash' mode displays each changed setting, with the settings that don't appear in the defaults followed by ###. 'unified' mode prefixes the default setting with a minus sign, followed by the changed setting prefixed with a plus sign.)defaultchoicesr   )add_argument)selfparsers     r	   add_argumentszCommand.add_arguments   sd    >	 	 	
 	F	 	 	
 	'$ 	 	
r   c                    ddl m}m}m} |j                  s|j                          t        |j                        }|d   }t        |r ||      n|      }| j                  | j                  d|d      }dj                   |||fi |      S )Nr   )Settingsglobal_settingssettingsr   r   output
)django.confr%   r&   r'   
configured_setupr   _wrappedoutput_hashoutput_unifiedjoin)	r!   optionsr%   r&   r'   user_settingsr   default_settingsoutput_funcs	            r	   handlezCommand.handle-   s    CC ""OO&x'8'89)$)!(HWo
 $$**
 (
 yy]4DPPQQr   c                     g }t        |      D ]f  }||vr|j                  |d||   d       "||   ||   k7  r|j                  |d||          G|d   sM|j                  d|d||          h |S )N = z  ###allz### )sortedappendr!   r2   r3   r1   r(   keys         r	   r.   zCommand.output_hash?   s    -( 	IC**]35GHIs#'7'<<3c0BCDsM#4FGH	I r   c           
         g }t        |      D ]  }||vr4|j                  | j                  j                  d|d||                ;||   ||   k7  rg|j                  | j                  j	                  d|d||                |j                  | j                  j                  d|d||                |d   s|j                  d|d||           |S )Nz+ r7   z- r8   z  )r9   r:   styleSUCCESSERRORr;   s         r	   r/   zCommand.output_unifiedK   s    -( 	GC**JJ&&c=;M'NO s#'7'<<JJ$$C9I#9N%OP JJ&&c=;M'NO S-2DEF	G r   N)	__name__
__module____qualname__r   requires_system_checksr#   r5   r.   r/    r   r	   r   r   	   s&    D  
<R$
r   r   N)django.core.management.baser   r   r   rE   r   r	   <module>rG      s"    3 &T R
Rk Rr   