HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/django/core/checks/__pycache__/urls.cpython-310.pyc
o

ʎ�_��@s�ddlmZddlmZddlmZmZmZmZeej	�dd��Z
dd�Zeej	�d	d
��Zddd
�Z
dd�Zeej	�dd��Zdd�ZdS)�)�Counter)�settings�)�Error�Tags�Warning�registercKs*ttdd�rddlm}|�}t|�SgS)N�ROOT_URLCONFr��get_resolver)�getattrr�django.urlsr�check_resolver)�app_configs�kwargsr�resolver�r�9/usr/lib/python3/dist-packages/django/core/checks/urls.py�check_url_configs
rcCs0t|dd�}|dur
|�St|d�st|�SgS)z)
    Recursively check the resolver.
    �checkN�resolve)r�hasattr�get_warning_for_invalid_pattern)r�check_methodrrrrs
rc	Ksnttdd�sgSddlm}|�}t|�}t|�}dd�|��D�}g}|D]}|�td�	|�dd	��q&|S)
zD
    Warn if URL namespaces used in applications aren't unique.
    r	Nrr
cSsg|]
\}}|dkr|�qS)rr)�.0�n�countrrr�
<listcomp>*sz/check_url_namespaces_unique.<locals>.<listcomp>zZURL namespace '{}' isn't unique. You may not be able to reverse all URLs in this namespacez	urls.W005��id)
rrr
r�_load_all_namespacesr�items�appendr�format)	rrrr�all_namespaces�counter�non_unique_namespaces�errors�	namespacerrr�check_url_namespaces_uniques
�r)rcs^t|dg�}�fdd�|D�}|D]}t|dd�}�}|dur$||f7}|�t||��q|S)z<
    Recursively load all namespaces from URL patterns.
    �url_patternscs.g|]}t|dd�durd��|jf��qS)r(N�:)r�joinr()r�url��parentsrrr:s
�z(_load_all_namespaces.<locals>.<listcomp>r(N)r�extendr )rr/r*�
namespaces�patternr(�currentrr.rr 5s
�
r cCs@t|t�rd�|�}n
t|t�rd}nd}td�|�|dd�gS)z�
    Return a list containing a warning that the pattern is invalid.

    describe_pattern() cannot be used here, because we cannot rely on the
    urlpattern having regex or name attributes.
    zkTry removing the string '{}'. The list of urlpatterns should not have a prefix string as the first element.z$Try using path() instead of a tuple.NziYour URL pattern {!r} is invalid. Ensure that urlpatterns is a list of path() and/or re_path() instances.z	urls.E004)�hintr)�
isinstance�strr#�tupler)r2r4rrrrGs
�
�rcKs8g}dD]}tt|�}|r|�d�s|�t|��q|S)N)�
STATIC_URL�	MEDIA_URL�/)rr�endswithr"�E006)rrr'�name�valuerrr�check_url_settings`s
�r?cCstd�|�dd�S)Nz%The {} setting must end with a slash.z	urls.E006r)rr#)r=rrrr<js�r<N)r)�collectionsr�django.confr�rrrr�urlsrrr)r rr?r<rrrr�<module>s