
    kh                     v    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ  G d d	e          Zd
S )    )apps)create_permissions)_get_all_permissions)
Permission)ContentType)BaseCommand)signalcommandc                   8     e Zd ZdZ fdZed             Z xZS )CommandzLreloads permissions for specified apps, or all apps if no args are specifiedc                     t                                          |           |                    ddd           |                    dddd	           |                    d
ddd	           d S )Nz--appsr   z2Reload permissions only for apps (comma separated))desthelpz--create-only
store_trueFzOnly create missing permissions)actiondefaultr   z--update-onlyzOnly update permissions)superadd_argumentsadd_argument)selfparser	__class__s     o/var/www/histauto/venv/lib/python3.11/site-packages/django_extensions/management/commands/update_permissions.pyr   zCommand.add_arguments   s    f%%%E 	 	
 	
 	

 	2	 	 	
 	
 	
 	*	 	 	
 	
 	
 	
 	
    c                    |d         r(|d                              d          }d |D             }nt          j                    }|d         rd\  }}n|d         rd\  }}nd\  }}|D ] }|rt          ||d	                    |r|                                D ]}t
          j                            |          }	t          |j	                  D ]\  }
}	 t          j                            |
|	
          }n# t          j        $ r Y 9w xY w|j        |k    rot          |          }||_        |d	         dk    r9| j                            | j                            d|d|d                     |                                 "d S )Nr   ,c                 6    g | ]}t          j        |          S  )django_appsget_app_config).0xs     r   
<listcomp>z"Command.handle.<locals>.<listcomp>)   s#    EEEaK.q11EEEr   create_only)TFupdate_only)FT)TT	verbosity)codenamecontent_type   zUpdate permission 'z' to '')splitr   get_app_configsr   
get_modelsr   objectsget_for_modelr   _metar   getDoesNotExistnamestrstdoutwritestyleSUCCESSsave)r   argsoptions	app_namesr   	do_create	do_updateappmodelr'   r&   r2   
permissionold_strs                 r   handlezCommand.handle%   s   6? 	1--c22IEE9EEEDD.00D=! 	.#. Iyy]# 	.#. Iyy#- Iy 	. 	.C >"3(<=== . ^^-- . .E#.#6#D#DU#K#KL*>u{*K*K . .$%)3);)?)?)1 *@ * *JJ  *6 % % %$H%%?d22&)*ooG.2JO&{3q88 $ 1 1$(J$6$6$6+277JJJ)@%& %&!" !" !" 'OO---#.	. 	.s   !C66D	D	)__name__
__module____qualname__r   r   r	   rB   __classcell__)r   s   @r   r   r      s[        V 	
 
 
 
 
( (. (. ](. (. (. (. (.r   r   N)django.appsr   r   django.contrib.auth.managementr   r   django.contrib.auth.modelsr   "django.contrib.contenttypes.modelsr   django.core.management.baser   "django_extensions.management.utilsr	   r   r   r   r   <module>rM      s    + + + + + + = = = = = = ? ? ? ? ? ? 1 1 1 1 1 1 : : : : : : 3 3 3 3 3 3 < < < < < <B. B. B. B. B.k B. B. B. B. B.r   