a
    Lcòfa  ã                   @   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ƒrLz| \}}W qP tyH   |r4tdƒ‚tdt| ƒ ƒ‚Y qP0 n| }t |tƒrbt|ƒ}t|d|ƒ}t|d|ƒ}|rŠ|sŠtdƒ‚|p�|}t |ttfƒrÈ|D ]"}t|dd ƒ}t |t	ƒr¤tdƒ‚q¤|||fS )NzMCannot override the namespace for a dynamic module that provides a namespace.z§Passing 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_namezÎSpecifying 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   úM/home/httpd/docs/test/DocsMgr/lib/python3.9/site-packages/django/urls/conf.pyÚinclude   s@    
ÿþÿ
ÿ
ÿr   c                 C   sÂ   ddl m} |d ur2t|tƒs2td|jj› d�ƒ‚t|ttfƒrh|| dd�}|\}}}	t	|||||	d�S t
|ƒrŒ|| |dd	�}t||||ƒS t||ƒr¶|jj}
td
|
› d|
› d�ƒ‚ntdƒ‚d S )Nr   )ÚViewz(kwargs argument must be a dict, but got Ú.F)Úis_endpoint)r   r   T)Únamer   zview must be a callable, pass z.as_view(), not z().zAview must be a callable or a list/tuple in the case of include().)Zdjango.viewsr   r   ÚdictÚ	TypeErrorÚ	__class__Ú__name__r   r   r
   Úcallabler	   )ZrouteÚviewÚkwargsr   ÚPatternr   r   r   r   r   Zview_cls_namer   r   r   Ú_path=   s8    ÿ
û
ÿÿÿ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   	
-
!