o
    h                     @   s   d dl mZmZ dddZdS )    )get_script_prefixresolveNc                    sT   ddl m ddlm   fddt d}| t|d } | g |g S )z_
    Given a url returns a list of breadcrumbs, which are each a
    tuple of (name, url).
    r   )preserve_builtin_query_params)APIViewc                    s   z	t | \}}}W n	 ty   Y n=w t|dd}t|di }|durOt| rO|r0|d |krO|d	i |}	|	 }
||  }|d|
|f || | dkrU|S | drf| d} | |||S | d| 	dd  } | |||S )
zy
        Add tuples of (name, url) to the breadcrumbs list,
        progressively chomping off parts of the url.
        clsN
initkwargsr    /    )
r   	Exceptiongetattr
issubclassget_view_nameinsertappendendswithrstriprfind)urlbreadcrumbs_listprefixseenviewunused_argsunused_kwargsr   r   cname
insert_urlr   breadcrumbs_recursiver   requestr   b/var/www/html/optinet_system/venv/lib/python3.10/site-packages/rest_framework/utils/breadcrumbs.pyr!      s*   


z.get_breadcrumbs.<locals>.breadcrumbs_recursiver
   N)rest_framework.reverser   rest_framework.viewsr   r   r   len)r   r"   r   r   r    r#   get_breadcrumbs   s   'r'   )N)django.urlsr   r   r'   r   r   r   r#   <module>   s    