
    Bh                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
  e j                  d      Zi a e       ZdZd Zdd	Zd
 Zd ZddZd ZddZd Zd Zy)    N)reload)local)settings)clear_url_cachescmsFc                      t               } t               }|st        |        y | |k7  rPt        j                  rt        | |       t        d       t        |        t        j                  rt        d       y y y )Nmy_test_app_viewnew_revision)get_global_revisionget_local_revisionset_local_revisionr   DEBUGlog_reloading_apphookdebug_check_urlreload_urlconfglobal_revisionlocal_revisions     H/home/dcms/DCMS/lib/python3.12/site-packages/cms/utils/apphook_reload.pyensure_urlconf_is_up_to_dater      sa    )+O')N?+	N	*>>!/>B./O4>>./  
+    c                 \    t         rt        t        d|       S t        j	                  d|       S Nvalueurlconf_revision)use_threadlocalgetattr_urlconf_revision_threadlocal_urlconf_revisionget)defaults    r   r   r   #   s+    4gwGG !$$%7AAr   c                 n    t         r&| r| t        _        y t        t        d      rt        `y y | t        d<   y r   )r   r   r   hasattrr    revisions    r   r   r   +   s5    2:)/4g>17 ? 19,-r   c                  r    ddl m}  | j                  t        t	        j
                                     \  }}|S )N   UrlconfRevisionr%   )modelsr*   get_or_create_revisionstruuiduuid4)r*   r&   _s      r   r   r   7   s1    (!88TZZ\" 9 $KHaOr   c                 p    ddl m} | t        t        j                               } |j                  |        y )Nr(   r)   )r+   r*   r-   r.   r/   update_revision)r   r*   s     r   set_global_revisionr3   >   s)    (4::<(##L1r   c                  X    t        t        j                               } t        |        | S )Nr
   )r-   r.   r/   r3   r
   s    r   mark_urlconf_as_changedr5   E   s     tzz|$L\2r   c                 <   ddl m}m} dt        j                  v rt        t        j                  d          | t        j                  } | t        j                  v rt        t        j                  |            |        t                 |        |t        |       y y )Nr   )clear_app_resolversget_app_patternszcms.urls)
cms.appresolverr7   r8   sysmodulesr   r   ROOT_URLCONFr   r   )urlconfr   r7   r8   s       r   r   r   K   st    ES[[ s{{:&'''#++s{{7#$<(  r   c                 l    t         j                  d|  dt        |        d| dt        |       d	       y )Nz"   New revision!!!! RELOAD!
      z (z)
   -> ))loggerdebugtyper   s     r   r   r   [   sF    
LL )*"T/-B,C D()D,@+AD Er   c                     ddl m} 	 dj                  |  |d            }t        j                  |       y # t        $ r}d|  d| }Y d }~,d }~ww xY w)Nr   )reversez    reverse('{}'): {} r	   z    ERROR: reverse('z'): )django.urlsrD   format	Exceptionr@   rA   )url_namerD   	debug_msges       r   r   r   a   sX    #=,33&'
	 LL  =*8*D<	=s   6 	AAA)N)NN)loggingr:   r.   	importlibr   	threadingr   django.confr   rE   r   	getLoggerr@   r    r   r   r   r   r   r   r3   r5   r   r   r    r   r   <module>rQ      sp     
      (			5	!  % 0B	92) E
r   