
    BhM                     p    d dl Z d dlmZ  ed      dz   Zd Zd Zd Z e j                  d      Zd	 Z	d
 Z
y)    N)get_cms_settingCACHE_PREFIX_PAGE_CACHE_VERSIONc                  X    ddl m}  | j                  t              }|r|S t	        d       y)z\
    Returns the current page cache version, explicitly setting one if not
    defined.
    r   cache   )django.core.cacher   getCMS_PAGE_CACHE_VERSION_KEY_set_cache_version)r   versions     B/home/dcms/DCMS/lib/python3.12/site-packages/cms/cache/__init__.py_get_cache_versionr      s)    
 (ii23G1    c                 V    ddl m} |j                  t        | t	        d      d          y)z7
    Set the cache version to the specified value.
    r   r   CACHE_DURATIONScontentN)r
   r   setr   r   )r   r   s     r   r   r      s'     (	II")*95r   c                  4    t               } t        | dz          y)z)
    Invalidates the CMS PAGE CACHE.
    r	   N)r   r   )r   s    r   invalidate_cms_page_cacher   %   s    @ !"Gw{#r   z[^a-zA-Z0-9_-]c                 .    t         j                  d|       S )N-)CLEAN_KEY_PATTERNsub)keys    r   
_clean_keyr   L   s      c**r   c           
          ddl m} t        ||      rt        |j                        }nt        |      }t        |      }t        d       |  d| dt        |       dt        |       S )Nr   )Pager   z__page_lookup:z_site:z_lang:)
cms.modelsr   
isinstancestrpkr   r   )namepage_lookuplangsite_idr   page_keys         r   _get_cache_keyr)   P   si    +t${~~&{#(#Hn-.tfN8*FSVW^S_R``fgjkogpfqrrr   )recms.utils.confr   r   r   r   r   compiler   r   r)    r   r   <module>r.      sK    	 *,^<?TT  
!$H BJJ01 +sr   