
    Bh                     B    d dl mZ g dZd Zd Zd Zd Zd Zd Zd	 Z	y
)    )get_cms_setting)add_pagechange_pagechange_page_advanced_settingschange_page_permissionsdelete_page	move_pagepublish_page	view_pagec                 @    dt        d      | j                  xs d|fz  S )Nz%s:permission:%d:%sCACHE_PREFIXr   )r   pk)userkeys     E/home/dcms/DCMS/lib/python3.12/site-packages/cms/cache/permissions.pyget_cache_keyr   
   s(     'As$< < <    c                  6    dj                  t        d            S )Nz{}:permission:versionr   )formatr    r   r    get_cache_permission_version_keyr      s    "))/.*IJJr   c                      ddl m}  	 t        | j                  t	                           }t        |      S # t
        $ r d}Y t        |      S w xY w)Nr   cache   )django.core.cacher   intgetr   	Exceptionr   versions     r   get_cache_permission_versionr"      sM    'eii @ BCD w<  w<s   "5 AAc                 X    ddl m} |j                  t        | |      t	                     S )z.
    Helper for reading values from cache
    r   r   r!   )r   r   r   r   r"   )r   r   r   s      r   get_permission_cacher%      s%     (99]4-7S7U9VVr   c                 z    ddl m} t        | |      }|j                  ||t	        d      d   t                      y)z
    Helper method for storing values in cache. Stores used keys so
    all of them can be cleaned when clean_permission_cache gets called.
    r   r   CACHE_DURATIONSpermissionsr$   N)r   r   r   setr   r"   )r   r   valuer   	cache_keys        r   set_permission_cacher,   $   s>    
 ( dC(I	IIi/0?24  6r   c                 p    ddl m} t        D ]'  }|j                  t	        | |      t                      ) y)z1
    Cleans permission cache for given user.
    r   r   r$   N)r   r   PERMISSION_KEYSdeleter   r"   )r   r   r   s      r   clear_user_permission_cacher0   2   s3     ( W]4-7S7UVWr   c                      ddl m}  t               }|dkD  r| j                  t	                      y | j                  t	               dt        d      d          y )Nr   r   r      r'   r(   )r   r   r"   incrr   r)   r   r    s     r   clear_permission_cacher4   ;   sG    '*,G{

356		24a!"34]C	Er   N)
cms.utils.confr   r.   r   r   r"   r%   r,   r0   r4   r   r   r   <module>r6      s6    *<
KW6WEr   