o
    h                     @   st   d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	m
Z
mZmZ ddd	Zdd
dZeee
dZeee	dZdS )zFunctions for use in URLsconfs.    )partial)import_module)ImproperlyConfigured   )LocalePrefixPatternRegexPatternRoutePattern
URLPatternURLResolverNc                 C   s   d }t | tr#z| \}}W n ty"   |rtdtdt|  w | }t |tr.t|}t|d|}t|d|}|rB|sBtd|pE|}t |ttfra|D ]}t|dd }t |t	r`tdqO|||fS )NzMCannot override the namespace for a dynamic module that provides a namespace.zPassing a %d-tuple to include() is not supported. Pass a 2-tuple containing the list of patterns and app_name, and provide the namespace argument to include() instead.Zurlpatternsapp_namezSpecifying a namespace in include() without providing an app_name is not supported. Set the app_name attribute in the included module, or pass a 2-tuple containing the list of patterns and app_name instead.patternz:Using i18n_patterns in an included URLconf is not allowed.)

isinstancetuple
ValueErrorr   lenstrr   getattrlistr   )arg	namespacer   urlconf_modulepatternsZurl_patternr    r   X/var/www/html/magazine_api/magazine_env/lib/python3.10/site-packages/django/urls/conf.pyinclude   sD   



r   c           	      C   sb   t |ttfr|| dd}|\}}}t|||||dS t|r-|| |dd}t||||S td)NF)is_endpoint)r   r   T)namer   zAview must be a callable or a list/tuple in the case of include().)r   r   r   r
   callabler	   	TypeError)	Zrouteviewkwargsr   Patternr   r   r   r   r   r   r   _path9   s   
r"   )r!   )N)NNN)__doc__	functoolsr   	importlibr   Zdjango.core.exceptionsr   	resolversr   r   r   r	   r
   r   r"   pathZre_pathr   r   r   r   <module>   s    

-